1

Revert "driver core: fix async device shutdown hang"

This reverts commit 4f2c346e62.

The series is being reverted before -rc1 as there are still reports of
lockups on shutdown, so it's not quite ready for "prime time."

Reported-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Link: https://lore.kernel.org/r/ZvMkkhyJrohaajuk@skv.local
Cc: Christoph Hellwig <hch@lst.de>
Cc: David Jeffery <djeffery@redhat.com>
Cc: Keith Busch <kbusch@kernel.org>
Cc: Laurence Oberman <loberman@redhat.com>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Stuart Hayes <stuart.w.hayes@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2024-09-25 10:56:57 +02:00
parent 4f2c346e62
commit e11daafdbf

View File

@ -4898,16 +4898,8 @@ void device_shutdown(void)
idx = device_links_read_lock();
list_for_each_entry_rcu(link, &dev->links.suppliers, c_node,
device_links_read_lock_held()) {
/*
* sync_state_only suppliers don't need to wait,
* aren't reordered on devices_kset, so making them
* wait could result in a hang
*/
if (device_link_flag_is_sync_state_only(link->flags))
continue;
device_links_read_lock_held())
link->supplier->p->shutdown_after = cookie;
}
device_links_read_unlock(idx);
put_device(dev);