From: Eric W. Biederman Date: Sun, 16 Mar 2014 01:20:12 +0000 (-0700) Subject: spider_net: Call dev_consume_skb_any instead of dev_kfree_skb. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=20eca054e9d90db3d6181e35d7425dfb79d5cd00;p=linux-beck.git spider_net: Call dev_consume_skb_any instead of dev_kfree_skb. Replace dev_kfree_skb with dev_consume_skb_any in spider_net_release_tx_chain which can be called in hard irq and other contexts. dev_consume_skb_any was choosen as it preserves the current dev_kfree_skb semantics (dev_kfree_skb is consume_skb) and is because it is correct most of the time as most packets will have been successfully transmitted not dropeed. Signed-off-by: "Eric W. Biederman" --- diff --git a/drivers/net/ethernet/toshiba/spider_net.c b/drivers/net/ethernet/toshiba/spider_net.c index 3f4a32e39d27..0282d0161859 100644 --- a/drivers/net/ethernet/toshiba/spider_net.c +++ b/drivers/net/ethernet/toshiba/spider_net.c @@ -860,7 +860,7 @@ spider_net_release_tx_chain(struct spider_net_card *card, int brutal) if (skb) { pci_unmap_single(card->pdev, buf_addr, skb->len, PCI_DMA_TODEVICE); - dev_kfree_skb(skb); + dev_consume_skb_any(skb); } } return 0;