]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: restart LPI timer after cleaning transmit descriptors
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 13 Jan 2025 11:46:20 +0000 (11:46 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 15 Jan 2025 02:22:04 +0000 (18:22 -0800)
Fix a bug in the LPI handling, where it is possible to immediately
enter LPI mode after cleaning the transmit descriptors when all queues
are empty rather than waiting for the LPI timeout to expire.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1tXItg-000MBg-TW@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index 72f2700130862a45954ef5629ae3a38e186727ac..acd6994c17644fe50fbe2af9ebf5d27f1d614cf0 100644 (file)
@@ -2795,7 +2795,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue,
        }
 
        if (priv->eee_sw_timer_en && !priv->tx_path_in_lpi_mode)
-               stmmac_try_to_start_sw_lpi(priv);
+               stmmac_restart_sw_lpi_timer(priv);
 
        /* We still have pending packets, let's call for a new scheduling */
        if (tx_q->dirty_tx != tx_q->cur_tx)