[PATCH 3/3] net: fm: Correct test for timeout
Andrew Goodbody
andrew.goodbody at linaro.org
Mon Aug 4 18:03:59 CEST 2025
In memac_wait_until_free and memac_wait_until_done 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 <andrew.goodbody at linaro.org>
---
drivers/net/fm/memac_phy.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c
index 26425d94ae5..1ad3c053593 100644
--- a/drivers/net/fm/memac_phy.c
+++ b/drivers/net/fm/memac_phy.c
@@ -46,7 +46,7 @@ static int memac_wait_until_free(struct memac_mdio_controller *regs)
while ((memac_in_32(®s->mdio_stat) & MDIO_STAT_BSY) && timeout--)
;
- if (!timeout) {
+ if (timeout == -1) {
printf("timeout waiting for MDIO bus to be free\n");
return -ETIMEDOUT;
}
@@ -64,7 +64,7 @@ static int memac_wait_until_done(struct memac_mdio_controller *regs)
while ((memac_in_32(®s->mdio_stat) & MDIO_STAT_BSY) && timeout--)
;
- if (!timeout) {
+ if (timeout == -1) {
printf("timeout waiting for MDIO operation to complete\n");
return -ETIMEDOUT;
}
--
2.39.5
More information about the U-Boot
mailing list