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>