Re: [PATCH v2] driver core: Extend returning EPROBE_DEFER for two minutes after late_initcall

From: John Stultz
Date: Fri Feb 14 2020 - 18:34:27 EST


On Fri, Feb 14, 2020 at 3:32 PM John Stultz <john.stultz@xxxxxxxxxx> wrote:
>
> Due to commit e01afc3250255 ("PM / Domains: Stop deferring probe
> at the end of initcall"), along with commit 25b4e70dcce9
> ("driver core: allow stopping deferred probe after init") after
> late_initcall, drivers will stop getting EPROBE_DEFER, and
> instead see an error causing the driver to fail to load.
>
> That change causes trouble when trying to use many clk drivers
> as modules, as the clk modules may not load until much later
> after init has started. If a dependent driver loads and gets an
> error instead of EPROBE_DEFER, it won't try to reload later when
> the dependency is met, and will thus fail to load.
>
> Instead of reverting that patch, this patch tries to extend the
> time that EPROBE_DEFER is retruned by 30 seconds, to (hopefully)
> ensure that everything has had a chance to load.

Oh, and of course I forgot to fix the subject line and didn't see it
until git send-email was done. That should be 30 seconds, not two
minutes. I'll fix that up for the next version.

Apologies!
-john