In bmi_rx_port_disable and bmi_tx_port_disable the use of post-decrement
on the test in the while loop for a timeout means that timeout will be
equal to -1 on exit in that case. Adjust the test for this expected
value.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <[email protected]>
---
 drivers/net/fm/eth.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c
index 63fe4b2d33c..c83b789693a 100644
--- a/drivers/net/fm/eth.c
+++ b/drivers/net/fm/eth.c
@@ -169,7 +169,7 @@ static void bmi_rx_port_disable(struct fm_bmi_rx_port 
*rx_port)
        /* wait until the rx port is not busy */
        while ((in_be32(&rx_port->fmbm_rst) & FMBM_RST_BSY) && timeout--)
                ;
-       if (!timeout)
+       if (timeout == -1)
                printf("%s - timeout\n", __func__);
 }
 
@@ -199,7 +199,7 @@ static void bmi_tx_port_disable(struct fm_bmi_tx_port 
*tx_port)
        /* wait until the tx port is not busy */
        while ((in_be32(&tx_port->fmbm_tst) & FMBM_TST_BSY) && timeout--)
                ;
-       if (!timeout)
+       if (timeout == -1)
                printf("%s - timeout\n", __func__);
 }
 

-- 
2.39.5

Reply via email to