[PATCH v2 2/4] driver core: Set deferred probe timeout to 0 if modules are disabled

From: Javier Martinez Canillas
Date: Wed Nov 16 2022 - 07:09:31 EST


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();
+ }

/*
* Trigger deferred probe again, this time we won't defer anything
--
2.38.1