Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'driver-core-5.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull driver core fix from Greg KH:
"Here is a single driver core fix for 5.12-rc7 to resolve a reported
problem that caused some devices to lockup when booting. It has been
in linux-next with no reported issues"

* tag 'driver-core-5.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
driver core: Fix locking bug in deferred_probe_timeout_work_func()

+5 -3
+5 -3
drivers/base/dd.c
··· 292 292 293 293 static void deferred_probe_timeout_work_func(struct work_struct *work) 294 294 { 295 - struct device_private *private, *p; 295 + struct device_private *p; 296 296 297 297 driver_deferred_probe_timeout = 0; 298 298 driver_deferred_probe_trigger(); 299 299 flush_work(&deferred_probe_work); 300 300 301 - list_for_each_entry_safe(private, p, &deferred_probe_pending_list, deferred_probe) 302 - dev_info(private->device, "deferred probe pending\n"); 301 + mutex_lock(&deferred_probe_mutex); 302 + list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe) 303 + dev_info(p->device, "deferred probe pending\n"); 304 + mutex_unlock(&deferred_probe_mutex); 303 305 wake_up_all(&probe_timeout_waitqueue); 304 306 } 305 307 static DECLARE_DELAYED_WORK(deferred_probe_timeout_work, deferred_probe_timeout_work_func);