summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorSaravana Kannan <saravanak@google.com>2020-11-21 03:02:18 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-12-09 19:10:20 +0100
commit96d8a9168ef5539beba9951dffe6eda07b74833e (patch)
tree820b78c862a5f21a56d979373a21f81b187da852 /drivers/base
parentRevert "driver core: Rename dev_links_info.defer_sync to defer_hook" (diff)
downloadlinux-96d8a9168ef5539beba9951dffe6eda07b74833e.tar.xz
linux-96d8a9168ef5539beba9951dffe6eda07b74833e.zip
Revert "driver core: Don't do deferred probe in parallel with kernel_init thread"
This reverts commit cec72f3efc6272420c2c2c699607f03d09b93e41. Commit cec72f3efc62 ("driver core: Don't do deferred probe in parallel with kernel_init thread") was fixing a commit 716a7a259690 ("driver core: fw_devlink: Add support for batching fwnode parsing"). Since the commit being fixed itself is going to be reverted, the fix can also be reverted. Signed-off-by: Saravana Kannan <saravanak@google.com> Link: https://lore.kernel.org/r/20201121020232.908850-4-saravanak@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/base.h1
-rw-r--r--drivers/base/core.c1
-rw-r--r--drivers/base/dd.c5
3 files changed, 7 insertions, 0 deletions
diff --git a/drivers/base/base.h b/drivers/base/base.h
index 91cfb8405abd..c3562adf4789 100644
--- a/drivers/base/base.h
+++ b/drivers/base/base.h
@@ -156,6 +156,7 @@ extern char *make_class_name(const char *name, struct kobject *kobj);
extern int devres_release_all(struct device *dev);
extern void device_block_probing(void);
extern void device_unblock_probing(void);
+extern void driver_deferred_probe_force_trigger(void);
/* /sys/devices directory */
extern struct kset *devices_kset;
diff --git a/drivers/base/core.c b/drivers/base/core.c
index fc4b0bc59935..b1189697c29b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1546,6 +1546,7 @@ void fw_devlink_resume(void)
goto out;
device_link_add_missing_supplier_links();
+ driver_deferred_probe_force_trigger();
out:
mutex_unlock(&defer_fw_devlink_lock);
}
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 148e81969e04..001caa0b447c 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -167,6 +167,11 @@ static void driver_deferred_probe_trigger(void)
if (!driver_deferred_probe_enable)
return;
+ driver_deferred_probe_force_trigger();
+}
+
+void driver_deferred_probe_force_trigger(void)
+{
/*
* A successful probe means that all the devices in the pending list
* should be triggered to be reprobed. Move all the deferred devices