summaryrefslogtreecommitdiff
path: root/drivers/base/dd.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-14 19:53:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-14 19:53:39 +0200
commita00fcbc115f9c934fe92e96358a7f392bb5549f0 (patch)
tree6733e44bb7efc8b49772f080c906ccd90b274008 /drivers/base/dd.c
parent4ce535ec0084f0d712317cb99d383cad3288e713 (diff)
parentd434405aaab7d0ebc516b68a8fc4100922d7f5ef (diff)
Merge tag 'v5.12-rc7' into driver-core-next
We need the driver core fix in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r--drivers/base/dd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 2f00d1d5b414..ecd7cf848daf 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -299,7 +299,7 @@ int driver_deferred_probe_check_state(struct device *dev)
static void deferred_probe_timeout_work_func(struct work_struct *work)
{
- struct device_private *private, *p;
+ struct device_private *p;
fw_devlink_drivers_done();
@@ -307,8 +307,10 @@ static void deferred_probe_timeout_work_func(struct work_struct *work)
driver_deferred_probe_trigger();
flush_work(&deferred_probe_work);
- list_for_each_entry_safe(private, p, &deferred_probe_pending_list, deferred_probe)
- dev_info(private->device, "deferred probe pending\n");
+ mutex_lock(&deferred_probe_mutex);
+ list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe)
+ dev_info(p->device, "deferred probe pending\n");
+ mutex_unlock(&deferred_probe_mutex);
wake_up_all(&probe_timeout_waitqueue);
}
static DECLARE_DELAYED_WORK(deferred_probe_timeout_work, deferred_probe_timeout_work_func);