]> Pileus Git - ~andy/linux/commitdiff
Merge tag 'linux-can-fixes-for-3.14-20140129' of git://gitorious.org/linux-can/linux-can
authorDavid S. Miller <davem@davemloft.net>
Fri, 31 Jan 2014 00:48:17 +0000 (16:48 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 Jan 2014 00:48:17 +0000 (16:48 -0800)
linux-can-fixes-for-3.14-20140129

Marc Kleine-Budde says:

====================
Arnd Bergmann provides a fix for the flexcan driver, enabling compilation on
all combinations of big and little endian on ARM and PowerPc. A patch by Ira W.
Snyder fixes uninitialized variable warnings in the janz-ican3 driver.
Rostislav Lisovy contributes a patch to propagate the SO_PRIORITY of raw
sockets to skbs.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
1  2 
drivers/net/can/janz-ican3.c

index 2124c67906875607e5657ab006c9f301cdc6d760,07f0ba03cd59e981078320a20424d7f583260db2..71594e5676fdc31fc422a542cb1786013a0f4ea4
@@@ -18,7 -18,6 +18,7 @@@
  #include <linux/netdevice.h>
  #include <linux/can.h>
  #include <linux/can/dev.h>
 +#include <linux/can/skb.h>
  #include <linux/can/error.h>
  
  #include <linux/mfd/janz.h>
@@@ -1134,9 -1133,20 +1134,9 @@@ static void ican3_handle_message(struc
   */
  static void ican3_put_echo_skb(struct ican3_dev *mod, struct sk_buff *skb)
  {
 -      struct sock *srcsk = skb->sk;
 -
 -      if (atomic_read(&skb->users) != 1) {
 -              struct sk_buff *old_skb = skb;
 -
 -              skb = skb_clone(old_skb, GFP_ATOMIC);
 -              kfree_skb(old_skb);
 -              if (!skb)
 -                      return;
 -      } else {
 -              skb_orphan(skb);
 -      }
 -
 -      skb->sk = srcsk;
 +      skb = can_create_echo_skb(skb);
 +      if (!skb)
 +              return;
  
        /* save this skb for tx interrupt echo handling */
        skb_queue_tail(&mod->echoq, skb);
@@@ -1312,7 -1322,7 +1312,7 @@@ static int ican3_napi(struct napi_struc
  
        /* process all communication messages */
        while (true) {
-               struct ican3_msg msg;
+               struct ican3_msg uninitialized_var(msg);
                ret = ican3_recv_msg(mod, &msg);
                if (ret)
                        break;