| From 88de8ee4b0fa5ab7d3c96616c23ce96ece24f904 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 24 Jun 2020 14:34:19 +0300 |
| Subject: dpaa2-eth: fix condition for number of buffer acquire retries |
| |
| From: Ioana Ciornei <ioana.ciornei@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.ciornei@nxp.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@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 |
| |