Message ID | bbba9c48-8bac-4932-9aa1-d2ed63bc9433@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d516b187a9cc2e842030dd005be2735db3e8f395 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY | expand |
On 30.07.2024 21:51, Heiner Kallweit wrote: > The skb isn't consumed in case of NETDEV_TX_BUSY, therefore don't > increment the tx_dropped counter. > > Fixes: 188f4af04618 ("r8169: use NETDEV_TX_{BUSY/OK}") > Cc: stable@vger.kernel.org > Suggested-by: Jakub Kicinski <kuba@kernel.org> > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > --- Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > drivers/net/ethernet/realtek/r8169_main.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c > index 714d2e804..3507c2e28 100644 > --- a/drivers/net/ethernet/realtek/r8169_main.c > +++ b/drivers/net/ethernet/realtek/r8169_main.c > @@ -4349,7 +4349,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, > if (unlikely(!rtl_tx_slots_avail(tp))) { > if (net_ratelimit()) > 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); > @@ -4405,11 +4406,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, > dev_kfree_skb_any(skb); > dev->stats.tx_dropped++; > 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)
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Tue, 30 Jul 2024 21:51:52 +0200 you wrote: > The skb isn't consumed in case of NETDEV_TX_BUSY, therefore don't > increment the tx_dropped counter. > > Fixes: 188f4af04618 ("r8169: use NETDEV_TX_{BUSY/OK}") > Cc: stable@vger.kernel.org > Suggested-by: Jakub Kicinski <kuba@kernel.org> > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > > [...] Here is the summary with links: - [net] r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY https://git.kernel.org/netdev/net/c/d516b187a9cc You are awesome, thank you!
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index 714d2e804..3507c2e28 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -4349,7 +4349,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, if (unlikely(!rtl_tx_slots_avail(tp))) { if (net_ratelimit()) 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); @@ -4405,11 +4406,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, dev_kfree_skb_any(skb); dev->stats.tx_dropped++; 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)
The skb isn't consumed in case of NETDEV_TX_BUSY, therefore don't increment the tx_dropped counter. Fixes: 188f4af04618 ("r8169: use NETDEV_TX_{BUSY/OK}") Cc: stable@vger.kernel.org Suggested-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/net/ethernet/realtek/r8169_main.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)