Skip to content

Commit ba63537

Browse files
Stuart Hayesgregkh
authored andcommitted
driver core: don't always lock parent in shutdown
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 <[email protected]> Signed-off-by: David Jeffery <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Keith Busch <[email protected]> Tested-by: Keith Busch <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 24e041e commit ba63537

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/base/core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4816,7 +4816,7 @@ void device_shutdown(void)
48164816
spin_unlock(&devices_kset->list_lock);
48174817

48184818
/* hold lock to avoid race with probe/release */
4819-
if (parent)
4819+
if (parent && dev->bus && dev->bus->need_parent_lock)
48204820
device_lock(parent);
48214821
device_lock(dev);
48224822

@@ -4840,7 +4840,7 @@ void device_shutdown(void)
48404840
}
48414841

48424842
device_unlock(dev);
4843-
if (parent)
4843+
if (parent && dev->bus && dev->bus->need_parent_lock)
48444844
device_unlock(parent);
48454845

48464846
put_device(dev);

0 commit comments

Comments
 (0)