On Mon, Jun 01, 2015 at 02:04:01PM +0200, Tomeu Vizoso wrote: > On 29 May 2015 at 15:23, Tomeu Vizoso <[email protected]> wrote: > > On 29 May 2015 at 12:48, Tomeu Vizoso <[email protected]> wrote: > >> On 31 March 2015 at 01:20, Dmitry Torokhov <[email protected]> > >> wrote: > >>> Some devices take a long time when initializing, and not all drivers are > >>> suited to initialize their devices when they are open. For example, > >>> input drivers need to interrogate their devices in order to publish > >>> device's capabilities before userspace will open them. When such drivers > >>> are compiled into kernel they may stall entire kernel initialization. > >>> > >>> This change allows drivers request for their probe functions to be > >>> called asynchronously during driver and device registration (manual > >>> binding is still synchronous). Because async_schedule is used to perform > >>> asynchronous calls module loading will still wait for the probing to > >>> complete. > >> > >> But what about parents? Don't we need to make sure that before probing > >> a device its parent has finished probing already? > > > > Have realized that this is an existing problem that was just made more > > probable by async probe, as before async probing the parent could have > > deferred its probe and then its children would be probed. > > > > Wonder if drivers should be modified to defer its probe if their > > parent isn't probed yet, or if we can codify that in dd.c. > > Also wonder what's the plan regarding USB interfaces requiring that > their parent's lock is taken before probing.
Yes, indeed, we need to take paren's lock in async probe too. I'll make a patch. Thanks for spotting this. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

