diff --git a/drivers/base/driver.c b/drivers/base/driver.c index a70fbb2..c529296 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -101,6 +101,8 @@ } list_del(&dev->active); + INIT_LIST_HEAD(&dev->active); + dev_err(dev, "probe failed: %s\n", strerror(-ret)); return ret; @@ -258,6 +260,8 @@ list_for_each_entry_safe(dev, tmp, &deferred, active) { list_del(&dev->active); + INIT_LIST_HEAD(&dev->active); + dev_dbg(dev, "re-probe device\n"); bus_for_each_driver(dev->bus, drv) { if (match(drv, dev))