diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2014-03-11 17:18:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-12 16:22:13 -0400 |
commit | 497a27b9e1bcf6dbaea7a466cfcd866927e1b431 (patch) | |
tree | b8bf34c58034a145606f5b636cd0ab60278f6162 /drivers/net/ethernet/broadcom | |
parent | f458b2ee93ee3606c83f76213fbe49e026bac754 (diff) |
tg3: Call dev_kfree_skby_any instead of dev_kfree_skb.
Replace dev_kfree_skb with dev_kfree_skb_any in functions that can
be called in hard irq and other contexts.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
-rw-r--r-- | drivers/net/ethernet/broadcom/tg3.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index e12735fbdcdb..bbbd2a4bc161 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c | |||
@@ -6593,7 +6593,7 @@ static void tg3_tx(struct tg3_napi *tnapi) | |||
6593 | pkts_compl++; | 6593 | pkts_compl++; |
6594 | bytes_compl += skb->len; | 6594 | bytes_compl += skb->len; |
6595 | 6595 | ||
6596 | dev_kfree_skb(skb); | 6596 | dev_kfree_skb_any(skb); |
6597 | 6597 | ||
6598 | if (unlikely(tx_bug)) { | 6598 | if (unlikely(tx_bug)) { |
6599 | tg3_tx_recover(tp); | 6599 | tg3_tx_recover(tp); |
@@ -6924,7 +6924,7 @@ static int tg3_rx(struct tg3_napi *tnapi, int budget) | |||
6924 | 6924 | ||
6925 | if (len > (tp->dev->mtu + ETH_HLEN) && | 6925 | if (len > (tp->dev->mtu + ETH_HLEN) && |
6926 | skb->protocol != htons(ETH_P_8021Q)) { | 6926 | skb->protocol != htons(ETH_P_8021Q)) { |
6927 | dev_kfree_skb(skb); | 6927 | dev_kfree_skb_any(skb); |
6928 | goto drop_it_no_recycle; | 6928 | goto drop_it_no_recycle; |
6929 | } | 6929 | } |
6930 | 6930 | ||
@@ -7807,7 +7807,7 @@ static int tigon3_dma_hwbug_workaround(struct tg3_napi *tnapi, | |||
7807 | PCI_DMA_TODEVICE); | 7807 | PCI_DMA_TODEVICE); |
7808 | /* Make sure the mapping succeeded */ | 7808 | /* Make sure the mapping succeeded */ |
7809 | if (pci_dma_mapping_error(tp->pdev, new_addr)) { | 7809 | if (pci_dma_mapping_error(tp->pdev, new_addr)) { |
7810 | dev_kfree_skb(new_skb); | 7810 | dev_kfree_skb_any(new_skb); |
7811 | ret = -1; | 7811 | ret = -1; |
7812 | } else { | 7812 | } else { |
7813 | u32 save_entry = *entry; | 7813 | u32 save_entry = *entry; |
@@ -7822,13 +7822,13 @@ static int tigon3_dma_hwbug_workaround(struct tg3_napi *tnapi, | |||
7822 | new_skb->len, base_flags, | 7822 | new_skb->len, base_flags, |
7823 | mss, vlan)) { | 7823 | mss, vlan)) { |
7824 | tg3_tx_skb_unmap(tnapi, save_entry, -1); | 7824 | tg3_tx_skb_unmap(tnapi, save_entry, -1); |
7825 | dev_kfree_skb(new_skb); | 7825 | dev_kfree_skb_any(new_skb); |
7826 | ret = -1; | 7826 | ret = -1; |
7827 | } | 7827 | } |
7828 | } | 7828 | } |
7829 | } | 7829 | } |
7830 | 7830 | ||
7831 | dev_kfree_skb(skb); | 7831 | dev_kfree_skb_any(skb); |
7832 | *pskb = new_skb; | 7832 | *pskb = new_skb; |
7833 | return ret; | 7833 | return ret; |
7834 | } | 7834 | } |
@@ -7871,7 +7871,7 @@ static int tg3_tso_bug(struct tg3 *tp, struct sk_buff *skb) | |||
7871 | } while (segs); | 7871 | } while (segs); |
7872 | 7872 | ||
7873 | tg3_tso_bug_end: | 7873 | tg3_tso_bug_end: |
7874 | dev_kfree_skb(skb); | 7874 | dev_kfree_skb_any(skb); |
7875 | 7875 | ||
7876 | return NETDEV_TX_OK; | 7876 | return NETDEV_TX_OK; |
7877 | } | 7877 | } |
@@ -8093,7 +8093,7 @@ dma_error: | |||
8093 | tg3_tx_skb_unmap(tnapi, tnapi->tx_prod, --i); | 8093 | tg3_tx_skb_unmap(tnapi, tnapi->tx_prod, --i); |
8094 | tnapi->tx_buffers[tnapi->tx_prod].skb = NULL; | 8094 | tnapi->tx_buffers[tnapi->tx_prod].skb = NULL; |
8095 | drop: | 8095 | drop: |
8096 | dev_kfree_skb(skb); | 8096 | dev_kfree_skb_any(skb); |
8097 | drop_nofree: | 8097 | drop_nofree: |
8098 | tp->tx_dropped++; | 8098 | tp->tx_dropped++; |
8099 | return NETDEV_TX_OK; | 8099 | return NETDEV_TX_OK; |