In fecmxc_probe if a timeout is detected when resetting the chip no
error code is set before taking the error exit. This could lead to a
silent failure. Instead set an error code.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodb...@linaro.org>
---
Changes in v2:
- Use -ETIMEDOUT instead of -ENODEV
- Link to v1: 
https://lore.kernel.org/r/20250804-fec_mxc-v1-1-1ed9b5df2...@linaro.org
---
 drivers/net/fec_mxc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 54b08482b91..9ac72d25ef6 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1344,6 +1344,7 @@ static int fecmxc_probe(struct udevice *dev)
        while (readl(&priv->eth->ecntrl) & FEC_ECNTRL_RESET) {
                if (get_timer(start) > (CONFIG_SYS_HZ * 5)) {
                        printf("FEC MXC: Timeout resetting chip\n");
+                       ret = -ETIMEDOUT;
                        goto err_timeout;
                }
                udelay(10);

---
base-commit: ae5711f881100f856ead1e76832c32b92dba93c7
change-id: 20250804-fec_mxc-5d77fca91d41

Best regards,
-- 
Andrew Goodbody <andrew.goodb...@linaro.org>

Reply via email to