summaryrefslogtreecommitdiffstats
path: root/drivers/net/can/dev.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-17 14:45:02 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-17 14:45:02 -0800
commit6e9c6e87a662c6665053fc3cc7840ed6fa80414e (patch)
tree2c573ee6bd9e9d77b35ec956e3dfe8aca0ae6fa6 /drivers/net/can/dev.c
parente6bed035ca652c43c897731366ea816ea2c4fbf1 (diff)
parent6d0abeca3242a88cab8232e4acd7e2bf088f3bc2 (diff)
downloadblackbird-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.c15
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);
OpenPOWER on IntegriCloud