Skip to content

Commit 7e92702

Browse files
hkallweitgregkh
authored andcommitted
r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY
commit d516b18 upstream. The skb isn't consumed in case of NETDEV_TX_BUSY, therefore don't increment the tx_dropped counter. Fixes: 188f4af ("r8169: use NETDEV_TX_{BUSY/OK}") Cc: [email protected] Suggested-by: Jakub Kicinski <[email protected]> Signed-off-by: Heiner Kallweit <[email protected]> Reviewed-by: Wojciech Drewek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent f2b5be3 commit 7e92702

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4256,7 +4256,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
42564256
if (unlikely(!rtl_tx_slots_avail(tp))) {
42574257
if (net_ratelimit())
42584258
netdev_err(dev, "BUG! Tx Ring full when queue awake!\n");
4259-
goto err_stop_0;
4259+
netif_stop_queue(dev);
4260+
return NETDEV_TX_BUSY;
42604261
}
42614262

42624263
opts[1] = rtl8169_tx_vlan_tag(skb);
@@ -4312,11 +4313,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
43124313
dev_kfree_skb_any(skb);
43134314
dev->stats.tx_dropped++;
43144315
return NETDEV_TX_OK;
4315-
4316-
err_stop_0:
4317-
netif_stop_queue(dev);
4318-
dev->stats.tx_dropped++;
4319-
return NETDEV_TX_BUSY;
43204316
}
43214317

43224318
static unsigned int rtl_last_frag_len(struct sk_buff *skb)

0 commit comments

Comments
 (0)