1
0
Fork 0

mv643xx_eth: Call dev_kfree_skb_any instead of dev_kfree_skb.

Replace dev_kfree_skb with dev_kfree_skb_any in mv643xx_eth_xmit and
txq_submit_skb that can be called in hard irq and other contexts,
on paths where the skbs are dropped.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
hifive-unleashed-5.1
Eric W. Biederman 2014-03-15 17:36:05 -07:00
parent 2297af4b50
commit 43f5437748
1 changed files with 2 additions and 2 deletions

View File

@ -730,7 +730,7 @@ static int txq_submit_skb(struct tx_queue *txq, struct sk_buff *skb)
unlikely(tag_bytes & ~12)) {
if (skb_checksum_help(skb) == 0)
goto no_csum;
kfree_skb(skb);
dev_kfree_skb_any(skb);
return 1;
}
@ -819,7 +819,7 @@ static netdev_tx_t mv643xx_eth_xmit(struct sk_buff *skb, struct net_device *dev)
if (txq->tx_ring_size - txq->tx_desc_count < MAX_SKB_FRAGS + 1) {
if (net_ratelimit())
netdev_err(dev, "tx queue full?!\n");
kfree_skb(skb);
dev_kfree_skb_any(skb);
return NETDEV_TX_OK;
}