USB: update to Documentation
this mentions a new deadlock due to advanced power management. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
230ffc75b7
commit
f0fa74634c
@@ -436,7 +436,12 @@ post_reset; the USB core guarantees that this is true of internal
|
|||||||
suspend/resume events as well.
|
suspend/resume events as well.
|
||||||
|
|
||||||
If a driver wants to block all suspend/resume calls during some
|
If a driver wants to block all suspend/resume calls during some
|
||||||
critical section, it can simply acquire udev->pm_mutex.
|
critical section, it can simply acquire udev->pm_mutex. Note that
|
||||||
|
calls to resume may be triggered indirectly. Block IO due to memory
|
||||||
|
allocations can make the vm subsystem resume a device. Thus while
|
||||||
|
holding this lock you must not allocate memory with GFP_KERNEL or
|
||||||
|
GFP_NOFS.
|
||||||
|
|
||||||
Alternatively, if the critical section might call some of the
|
Alternatively, if the critical section might call some of the
|
||||||
usb_autopm_* routines, the driver can avoid deadlock by doing:
|
usb_autopm_* routines, the driver can avoid deadlock by doing:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user