Browse Source

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>
Wei Yongjun 8 years ago
parent
commit
d80f45ffd8
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/synopsys/dwc_eth_qos.c

+ 1 - 1
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:
 tx_error:
 	dwceqos_tx_rollback(lp, &trans);
 	dwceqos_tx_rollback(lp, &trans);
-	dev_kfree_skb(skb);
+	dev_kfree_skb_any(skb);
 	return 0;
 	return 0;
 }
 }