mirror of https://gitee.com/openkylin/linux.git
r8169: Be drop monitor friendly
rtl_tx() is the TX reclamation process whereas rtl8169_tx_clear_range() does the TX ring cleaning during shutdown, both of these functions should call dev_consume_skb_any() to be drop monitor friendly. Fixes:cac4b22f3d
("r8169: do not account fragments as packets") Fixes:eb78139790
("r8169: Do not use dev_kfree_skb in xmit path") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1089650d88
commit
7a4b813cb7
|
@ -6863,7 +6863,7 @@ static void rtl8169_tx_clear_range(struct rtl8169_private *tp, u32 start,
|
|||
rtl8169_unmap_tx_skb(&tp->pci_dev->dev, tx_skb,
|
||||
tp->TxDescArray + entry);
|
||||
if (skb) {
|
||||
dev_kfree_skb_any(skb);
|
||||
dev_consume_skb_any(skb);
|
||||
tx_skb->skb = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -7318,7 +7318,7 @@ static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp)
|
|||
tp->tx_stats.packets++;
|
||||
tp->tx_stats.bytes += tx_skb->skb->len;
|
||||
u64_stats_update_end(&tp->tx_stats.syncp);
|
||||
dev_kfree_skb_any(tx_skb->skb);
|
||||
dev_consume_skb_any(tx_skb->skb);
|
||||
tx_skb->skb = NULL;
|
||||
}
|
||||
dirty_tx++;
|
||||
|
|
Loading…
Reference in New Issue