From: Eric W. Biederman Date: Sun, 16 Mar 2014 01:18:02 +0000 (-0700) Subject: tilepro: Call dev_consume_skb_any instead of kfree_skb. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=66d1bee1f3d63be9d62dae5e0bb727155567c1ce;p=linux-beck.git tilepro: Call dev_consume_skb_any instead of kfree_skb. Replace kfree_skb with dev_consume_skb_any in tile_net_tx and tile_net_tx_tso which can be called in hard irq and other contexts. At the point where the skbs are freed a packet has been successfully transmitted so dev_consume_skb_any is the appropriate variant to use. Signed-off-by: "Eric W. Biederman" --- diff --git a/drivers/net/ethernet/tile/tilepro.c b/drivers/net/ethernet/tile/tilepro.c index b94449b4bd34..e5a5c5d4ce0c 100644 --- a/drivers/net/ethernet/tile/tilepro.c +++ b/drivers/net/ethernet/tile/tilepro.c @@ -1824,7 +1824,7 @@ busy: /* Handle completions. */ for (i = 0; i < nolds; i++) - kfree_skb(olds[i]); + dev_consume_skb_any(olds[i]); /* Update stats. */ u64_stats_update_begin(&stats->syncp); @@ -2008,7 +2008,7 @@ busy: /* Handle completions. */ for (i = 0; i < nolds; i++) - kfree_skb(olds[i]); + dev_consume_skb_any(olds[i]); /* HACK: Track "expanded" size for short packets (e.g. 42 < 60). */ u64_stats_update_begin(&stats->syncp);