diff options
author | Wei Yongjun <weiyongjun1@huawei.com> | 2016-10-20 16:59:49 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-20 14:47:52 -0400 |
commit | d80f45ffd8847891554f00e19fc9bc95ee720976 (patch) | |
tree | d8a7c24cd0d64e0da9395aed56b9ac7b1a064073 /drivers/net/ethernet | |
parent | 547412fe08239366f867aea4cc9c8e6816302c1d (diff) | |
download | op-kernel-dev-d80f45ffd8847891554f00e19fc9bc95ee720976.zip op-kernel-dev-d80f45ffd8847891554f00e19fc9bc95ee720976.tar.gz |
dwc_eth_qos: use dev_kfree_skb_any instead of dev_kfree_skb
Replace dev_kfree_skb with dev_kfree_skb_any in dwceqos_start_xmit()
which can be called from hard irq context (netpoll) and from
other contexts. dwceqos_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>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/synopsys/dwc_eth_qos.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/synopsys/dwc_eth_qos.c b/drivers/net/ethernet/synopsys/dwc_eth_qos.c index 0d00531..eaa51ce 100644 --- a/drivers/net/ethernet/synopsys/dwc_eth_qos.c +++ b/drivers/net/ethernet/synopsys/dwc_eth_qos.c @@ -2211,7 +2211,7 @@ static int dwceqos_start_xmit(struct sk_buff *skb, struct net_device *ndev) tx_error: dwceqos_tx_rollback(lp, &trans); - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); return 0; } |