The smc911x driver probe routine polls the READY bit using wait_on_timeout, which returns 0 on success. The error check following the wait_on_timeout invocation in the probe routine interprets a returned 0 as failure. This patch correctly interprets the return value of wait_on_timeout. Signed-off-by: Mike Nawrocki <michael.nawrocki@xxxxxxxxxxxxxxx> --- drivers/net/smc911x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index ea7cea5f1..1edc16ce4 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -541,7 +541,7 @@ static int smc911x_probe(struct device_d *dev) * forbidden while this bit isn't set. Try for 100ms */ ret = wait_on_timeout(100 * MSECOND, smc911x_reg_read(priv, PMT_CTRL) & PMT_CTRL_READY); - if (!ret) { + if (ret) { dev_err(dev, "Device not READY in 100ms aborting\n"); return -ENODEV; } -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox