public inbox for driver-core@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH 1/5] driver core: do not always lock parent in shutdown
@ 2026-03-11 17:12 David Jeffery
  2026-03-11 17:12 ` [PATCH 2/5] driver core: separate function to shutdown one device David Jeffery
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: David Jeffery @ 2026-03-11 17:12 UTC (permalink / raw)
  To: linux-kernel, driver-core, linux-pci, linux-scsi,
	Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich
  Cc: Tarun Sahu, Pasha Tatashin, Michał Cłapiński,
	Jordan Richards, Ewan Milne, John Meneghini, Lombardi, Maurizio,
	David Jeffery, Stuart Hayes, Laurence Oberman

Don't lock a parent device unless it is needed in device_shutdown. This
is in preparation for making device shutdown asynchronous, when it will
be needed to allow children of a common parent to shut down
simultaneously.

Signed-off-by: Stuart Hayes <stuart.w.hayes@gmail.com>
Signed-off-by: David Jeffery <djeffery@redhat.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
---
 drivers/base/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 791f9e444df8..eb54fc9680de 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -4819,7 +4819,7 @@ void device_shutdown(void)
 		spin_unlock(&devices_kset->list_lock);
 
 		/* hold lock to avoid race with probe/release */
-		if (parent)
+		if (parent && dev->bus && dev->bus->need_parent_lock)
 			device_lock(parent);
 		device_lock(dev);
 
@@ -4843,7 +4843,7 @@ void device_shutdown(void)
 		}
 
 		device_unlock(dev);
-		if (parent)
+		if (parent && dev->bus && dev->bus->need_parent_lock)
 			device_unlock(parent);
 
 		put_device(dev);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-03-12 14:01 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11 17:12 [PATCH 1/5] driver core: do not always lock parent in shutdown David Jeffery
2026-03-11 17:12 ` [PATCH 2/5] driver core: separate function to shutdown one device David Jeffery
2026-03-11 18:00   ` Bart Van Assche
2026-03-11 21:37     ` Bjorn Helgaas
2026-03-11 21:42       ` Bart Van Assche
2026-03-12 13:39     ` David Jeffery
2026-03-12  1:49   ` kernel test robot
2026-03-12  5:10   ` kernel test robot
2026-03-11 17:12 ` [PATCH 3/5] driver core: async device shutdown infrastructure David Jeffery
2026-03-11 19:40   ` Randy Dunlap
2026-03-11 23:05   ` Bjorn Helgaas
2026-03-12 14:01     ` David Jeffery
2026-03-11 17:12 ` [PATCH 4/5] pci: enable async shutdown support David Jeffery
2026-03-11 23:08   ` Bjorn Helgaas
2026-03-12 13:46     ` David Jeffery
2026-03-12  5:09   ` Greg Kroah-Hartman
2026-03-12 13:54     ` David Jeffery
2026-03-11 17:12 ` [PATCH 5/5] scsi: " David Jeffery

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox