提交 66d1bee1 编写于 作者: E Eric W. Biederman

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: N"Eric W. Biederman" <ebiederm@xmission.com>
上级 241198ac
......@@ -1824,7 +1824,7 @@ static int tile_net_tx_tso(struct sk_buff *skb, struct net_device *dev)
/* 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 @@ static int tile_net_tx(struct sk_buff *skb, struct net_device *dev)
/* 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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册