Messages in this thread | | | From | Yuval Mintz <> | Subject | RE: [PATCH 1/3] driver core: enable drivers to use deferred probe from init | Date | Mon, 28 Jul 2014 15:12:11 +0000 |
| |
> +static int __driver_probe_device(struct device_driver *drv, struct > +device *dev) { > + if (drv->delay_probe && !dev->init_delayed_probe) { > + dev_info(dev, "Driver %s requests probe deferral on init\n", > + drv->name); > + dev->init_delayed_probe = true; > + driver_deferred_probe_add(dev); > + return -EPROBE_DEFER; > + } > + > + return really_probe(dev, drv); > +}
Perhaps this is a silly question, but what guarantees that the deferred probe list will actually be triggered, e.g., in case the delayed device is the last device in the system?
[From drivers/base/dd.c - "A successful driver probe will trigger moving all devices from the pending to the active list so that the workqueue will eventually retry them]
| |