net: netdev_queue: netdev_txq_completed_mb(): fix wake condition
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 12 Jan 2024 16:13:14 +0000 (17:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:57 +0000 (15:35 -0800)
[ Upstream commit 894d7508316e7ad722df597d68b4b1797a9eee11 ]

netif_txq_try_stop() uses "get_desc >= start_thrs" as the check for
the call to netif_tx_start_queue().

Use ">=" i netdev_txq_completed_mb(), too.

Fixes: c91c46de6bbc ("net: provide macros for commonly copied lockless queue stop/wake code")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/netdev_queues.h

index d68b0a4..8b8ed4e 100644 (file)
@@ -128,7 +128,7 @@ netdev_txq_completed_mb(struct netdev_queue *dev_queue,
                netdev_txq_completed_mb(txq, pkts, bytes);              \
                                                                        \
                _res = -1;                                              \
-               if (pkts && likely(get_desc > start_thrs)) {            \
+               if (pkts && likely(get_desc >= start_thrs)) {           \
                        _res = 1;                                       \
                        if (unlikely(netif_tx_queue_stopped(txq)) &&    \
                            !(down_cond)) {                             \