Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 497a27b9 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by David S. Miller
Browse files

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: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f458b2ee
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -6593,7 +6593,7 @@ static void tg3_tx(struct tg3_napi *tnapi)
		pkts_compl++;
		bytes_compl += skb->len;

		dev_kfree_skb(skb);
		dev_kfree_skb_any(skb);

		if (unlikely(tx_bug)) {
			tg3_tx_recover(tp);
@@ -6924,7 +6924,7 @@ static int tg3_rx(struct tg3_napi *tnapi, int budget)

		if (len > (tp->dev->mtu + ETH_HLEN) &&
		    skb->protocol != htons(ETH_P_8021Q)) {
			dev_kfree_skb(skb);
			dev_kfree_skb_any(skb);
			goto drop_it_no_recycle;
		}

@@ -7807,7 +7807,7 @@ static int tigon3_dma_hwbug_workaround(struct tg3_napi *tnapi,
					  PCI_DMA_TODEVICE);
		/* Make sure the mapping succeeded */
		if (pci_dma_mapping_error(tp->pdev, new_addr)) {
			dev_kfree_skb(new_skb);
			dev_kfree_skb_any(new_skb);
			ret = -1;
		} else {
			u32 save_entry = *entry;
@@ -7822,13 +7822,13 @@ static int tigon3_dma_hwbug_workaround(struct tg3_napi *tnapi,
					    new_skb->len, base_flags,
					    mss, vlan)) {
				tg3_tx_skb_unmap(tnapi, save_entry, -1);
				dev_kfree_skb(new_skb);
				dev_kfree_skb_any(new_skb);
				ret = -1;
			}
		}
	}

	dev_kfree_skb(skb);
	dev_kfree_skb_any(skb);
	*pskb = new_skb;
	return ret;
}
@@ -7871,7 +7871,7 @@ static int tg3_tso_bug(struct tg3 *tp, struct sk_buff *skb)
	} while (segs);

tg3_tso_bug_end:
	dev_kfree_skb(skb);
	dev_kfree_skb_any(skb);

	return NETDEV_TX_OK;
}
@@ -8093,7 +8093,7 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
	tg3_tx_skb_unmap(tnapi, tnapi->tx_prod, --i);
	tnapi->tx_buffers[tnapi->tx_prod].skb = NULL;
drop:
	dev_kfree_skb(skb);
	dev_kfree_skb_any(skb);
drop_nofree:
	tp->tx_dropped++;
	return NETDEV_TX_OK;