diff options
author | Wei Yongjun <weiyongjun1@huawei.com> | 2016-10-20 17:00:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-20 14:47:52 -0400 |
commit | 81ad2b7de6dd352802f9979910343d4867e1ac94 (patch) | |
tree | 94567851f5ff361dc0bbb14b0be458f8c0f25305 | |
parent | d80f45ffd8847891554f00e19fc9bc95ee720976 (diff) | |
download | linux-81ad2b7de6dd352802f9979910343d4867e1ac94.tar.bz2 |
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 <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 8f80e618ae59..d71627417ea7 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; } |