diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-17 14:45:02 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-17 14:45:02 -0800 |
commit | 6e9c6e87a662c6665053fc3cc7840ed6fa80414e (patch) | |
tree | 2c573ee6bd9e9d77b35ec956e3dfe8aca0ae6fa6 /drivers/net/can/dev.c | |
parent | e6bed035ca652c43c897731366ea816ea2c4fbf1 (diff) | |
parent | 6d0abeca3242a88cab8232e4acd7e2bf088f3bc2 (diff) | |
download | blackbird-op-linux-6e9c6e87a662c6665053fc3cc7840ed6fa80414e.tar.gz blackbird-op-linux-6e9c6e87a662c6665053fc3cc7840ed6fa80414e.zip |
Merge 3.14-rc3 into staging-next
We want the fixes in this branch to make testing and future work easier.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/can/dev.c')
-rw-r--r-- | drivers/net/can/dev.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c index 13a909822e25..fc59bc6f040b 100644 --- a/drivers/net/can/dev.c +++ b/drivers/net/can/dev.c @@ -323,19 +323,10 @@ void can_put_echo_skb(struct sk_buff *skb, struct net_device *dev, } if (!priv->echo_skb[idx]) { - 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; /* make settings for echo to reduce code in irq context */ skb->protocol = htons(ETH_P_CAN); |