On Wed, Nov 16, 2022 at 01:00:43PM +0100, Javier Martinez Canillas wrote: > There is no point to schedule the work queue to timeout the deferred probe > if all the initcalls are done and modules are not enabled. The default for > this case is already 0 but can be overridden by the deferred_probe_timeout > parameter. Let's just disable to avoid queuing a work that is not needed. > > Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx> > --- > > (no changes since v1) > > drivers/base/dd.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/base/dd.c b/drivers/base/dd.c > index 040b4060f903..1e8f1afeac98 100644 > --- a/drivers/base/dd.c > +++ b/drivers/base/dd.c > @@ -350,8 +350,10 @@ static int deferred_probe_initcall(void) > flush_work(&deferred_probe_work); > initcalls_done = true; > > - if (!IS_ENABLED(CONFIG_MODULES)) > + if (!IS_ENABLED(CONFIG_MODULES)) { > + driver_deferred_probe_timeout = 0; > fw_devlink_drivers_done(); > + } > Potentially a stupid suggestion, but would it make sense to take out the ability to actually set that param if !CONFIG_MODULES? Then driver_deferred_probe_timeout would be the default value already. > /* > * Trigger deferred probe again, this time we won't defer anything > -- > 2.38.1 >