From: Eric W. Biederman Date: Sun, 16 Mar 2014 01:25:05 +0000 (-0700) Subject: via-velocity: Call dev_kfree_skb_any instead of kfree_skb. X-Git-Tag: v3.15-rc1~113^2~96^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=001eadf6ec9764786f1719b4f4375108db3811dd;p=karo-tx-linux.git via-velocity: Call dev_kfree_skb_any instead of kfree_skb. Replace dev_kfree_skb with dev_kfree_skb_any in velocity_xmit that can be called in hard irq and other contexts. Packets are freed and dropped in velocity_xmit when they are too fragmented and can not be linearized. Signed-off-by: "Eric W. Biederman" --- diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c index ad61d26a44f3..de08e86db209 100644 --- a/drivers/net/ethernet/via/via-velocity.c +++ b/drivers/net/ethernet/via/via-velocity.c @@ -2565,7 +2565,7 @@ static netdev_tx_t velocity_xmit(struct sk_buff *skb, /* The hardware can handle at most 7 memory segments, so merge * the skb if there are more */ if (skb_shinfo(skb)->nr_frags > 6 && __skb_linearize(skb)) { - kfree_skb(skb); + dev_kfree_skb_any(skb); return NETDEV_TX_OK; }