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 <[email protected]>
---
 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
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to