From: Wei Yongjun Date: Thu, 20 Oct 2016 17:00:32 +0000 (+0000) Subject: net: ethernet: mediatek: use dev_kfree_skb_any instead of dev_kfree_skb X-Git-Tag: v5.15~12359^2~428 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=81ad2b7de6dd352802f9979910343d4867e1ac94;p=platform%2Fkernel%2Flinux-starfive.git net: ethernet: mediatek: use dev_kfree_skb_any instead of dev_kfree_skb Replace dev_kfree_skb with dev_kfree_skb_any in mtk_start_xmit() which can be called from hard irq context (netpoll) and from other contexts. mtk_start_xmit() only frees skbs that it has dropped. This is detected by Coccinelle semantic patch. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 8f80e61..d716274 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -843,7 +843,7 @@ static int mtk_start_xmit(struct sk_buff *skb, struct net_device *dev) drop: spin_unlock(ð->page_lock); stats->tx_dropped++; - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); return NETDEV_TX_OK; }