From: Ioana Ciornei <ioana.cior...@nxp.com>

[ Upstream commit 0e5ad75b02d9341eb9ca22627247f9a02cc20d6f ]

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>
Signed-off-by: David S. Miller <da...@davemloft.net>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 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 b7031f8562e04..665ec7269c603 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
@@ -1054,7 +1054,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