We should keep retrying to acquire buffers through the software portals
as long as the function returns -EBUSY and the number of retries is
__below__ DPAA2_ETH_SWP_BUSY_RETRIES.

Fixes: ef17bd7cc0c8 ("dpaa2-eth: Avoid unbounded while loops")
Signed-off-by: Ioana Ciornei <ioana.cior...@nxp.com>
---
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c 
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
index db27f959d409..712bbfdbe7d7 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
@@ -1113,7 +1113,7 @@ static void drain_bufs(struct dpaa2_eth_priv *priv, int 
count)
                                               buf_array, count);
                if (ret < 0) {
                        if (ret == -EBUSY &&
-                           retries++ >= DPAA2_ETH_SWP_BUSY_RETRIES)
+                           retries++ < DPAA2_ETH_SWP_BUSY_RETRIES)
                                continue;
                        netdev_err(priv->net_dev, "dpaa2_io_service_acquire() 
failed\n");
                        return;
-- 
2.25.1

Reply via email to