diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2014-03-15 18:49:08 -0400 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2014-03-25 00:18:53 -0400 |
commit | af9ba92cb2e8874ec35055212b15be044cb96e3c (patch) | |
tree | e4159114faeaafbf77eaea1f4c1e013d05ddeeef | |
parent | 37392c7b84144ba72b185682791d4a4ad084de28 (diff) |
pcnet32: Call dev_kfree_skb_any instead of dev_kfree_skb.
Replace dev_kfree_skb with dev_kfree_skb_any in pcnet32_start_xmit
that can be called in hard irq and other contexts.
dev_kfree_skb_any is used as pcnet32_start_xmit only frees an
skb when it drops a packet during transmit.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r-- | drivers/net/ethernet/amd/pcnet32.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c index 2ae00ed83afa..e7cc9174e364 100644 --- a/drivers/net/ethernet/amd/pcnet32.c +++ b/drivers/net/ethernet/amd/pcnet32.c | |||
@@ -2448,7 +2448,7 @@ static netdev_tx_t pcnet32_start_xmit(struct sk_buff *skb, | |||
2448 | lp->tx_dma_addr[entry] = | 2448 | lp->tx_dma_addr[entry] = |
2449 | pci_map_single(lp->pci_dev, skb->data, skb->len, PCI_DMA_TODEVICE); | 2449 | pci_map_single(lp->pci_dev, skb->data, skb->len, PCI_DMA_TODEVICE); |
2450 | if (pci_dma_mapping_error(lp->pci_dev, lp->tx_dma_addr[entry])) { | 2450 | if (pci_dma_mapping_error(lp->pci_dev, lp->tx_dma_addr[entry])) { |
2451 | dev_kfree_skb(skb); | 2451 | dev_kfree_skb_any(skb); |
2452 | dev->stats.tx_dropped++; | 2452 | dev->stats.tx_dropped++; |
2453 | goto drop_packet; | 2453 | goto drop_packet; |
2454 | } | 2454 | } |