Commit d516b187 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jakub Kicinski

r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY

The skb isn't consumed in case of NETDEV_TX_BUSY, therefore don't
increment the tx_dropped counter.

Fixes: 188f4af0 ("r8169: use NETDEV_TX_{BUSY/OK}")
Cc: stable@vger.kernel.org
Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
Link: https://patch.msgid.link/bbba9c48-8bac-4932-9aa1-d2ed63bc9433@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 601df205
...@@ -4349,7 +4349,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, ...@@ -4349,7 +4349,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
if (unlikely(!rtl_tx_slots_avail(tp))) { if (unlikely(!rtl_tx_slots_avail(tp))) {
if (net_ratelimit()) if (net_ratelimit())
netdev_err(dev, "BUG! Tx Ring full when queue awake!\n"); netdev_err(dev, "BUG! Tx Ring full when queue awake!\n");
goto err_stop_0; netif_stop_queue(dev);
return NETDEV_TX_BUSY;
} }
opts[1] = rtl8169_tx_vlan_tag(skb); opts[1] = rtl8169_tx_vlan_tag(skb);
...@@ -4405,11 +4406,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, ...@@ -4405,11 +4406,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
dev->stats.tx_dropped++; dev->stats.tx_dropped++;
return NETDEV_TX_OK; return NETDEV_TX_OK;
err_stop_0:
netif_stop_queue(dev);
dev->stats.tx_dropped++;
return NETDEV_TX_BUSY;
} }
static unsigned int rtl_last_frag_len(struct sk_buff *skb) static unsigned int rtl_last_frag_len(struct sk_buff *skb)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment