tilepro: Call dev_consume_skb_any instead of kfree_skb.
authorEric W. Biederman <ebiederm@xmission.com>
Sun, 16 Mar 2014 01:18:02 +0000 (18:18 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 25 Mar 2014 04:19:12 +0000 (21:19 -0700)
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" <ebiederm@xmission.com>
drivers/net/ethernet/tile/tilepro.c

index b94449b..e5a5c5d 100644 (file)
@@ -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);