On Thu, 14 Feb 2013 15:57:18 +0000, Arnd Bergmann <a...@arndb.de> wrote: > On Thursday 14 February 2013, Haojian Zhuang wrote: > > If you can change it into code in below, it could work. Otherwise, it > > always fails. > > driver_deferred_probe_enable = true; > > driver_deferred_probe_trigger(); > > + deferred_probe_work_func(NULL); > > return 0; > > > > Because deferred_probe_work_func() depends on that deferred_probe is added > > into deferred_probe_active_list. If driver_deferred_probe_trigger() isn't > > called > > first, the deferred uart probe can't be added into active list. So even you > > call > > work_func at here, it doesn't help. > > > > Would that not cause two instances of the work function to run at the same > time? > That sounds like a source for a lot of problems.
Yes. Even ignoring the problems with device drivers not handling multithreaded probing well, the current deferred probe wouldn't handle it well. I could make it support multithreading, but I don't see a whole lot of value there. g. -- Grant Likely, B.Sc, P.Eng. Secret Lab Technologies, Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/