summaryrefslogtreecommitdiff
path: root/drivers/net/can/dev.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-03-19 13:02:34 +0000
committerMark Brown <broonie@linaro.org>2014-03-19 13:02:34 +0000
commit236b11de51c7501c454ca125d84152b06ef7f27e (patch)
treed0ca0b99961da2a8a46b4f86a57de8424dadce1d /drivers/net/can/dev.c
parent0f4cc282951a76011db1da6787b3d2acc63238ca (diff)
parentba3e31f87e8b736adf01f1dc09cd5618966ee193 (diff)
downloadlinux-236b11de51c7501c454ca125d84152b06ef7f27e.tar.gz
linux-236b11de51c7501c454ca125d84152b06ef7f27e.tar.xz
Merge branch 'ib-mfd-regulator-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-s2mps11
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);