Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66d1bee1 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

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: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 241198ac
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);