diff options
Diffstat (limited to 'Documentation/usb')
-rw-r--r-- | Documentation/usb/power-management.txt | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Documentation/usb/power-management.txt b/Documentation/usb/power-management.txt index b2fc4d4a9917..9d31140e3f5b 100644 --- a/Documentation/usb/power-management.txt +++ b/Documentation/usb/power-management.txt | |||
@@ -436,7 +436,12 @@ post_reset; the USB core guarantees that this is true of internal | |||
436 | suspend/resume events as well. | 436 | suspend/resume events as well. |
437 | 437 | ||
438 | If a driver wants to block all suspend/resume calls during some | 438 | If a driver wants to block all suspend/resume calls during some |
439 | critical section, it can simply acquire udev->pm_mutex. | 439 | critical section, it can simply acquire udev->pm_mutex. Note that |
440 | calls to resume may be triggered indirectly. Block IO due to memory | ||
441 | allocations can make the vm subsystem resume a device. Thus while | ||
442 | holding this lock you must not allocate memory with GFP_KERNEL or | ||
443 | GFP_NOFS. | ||
444 | |||
440 | Alternatively, if the critical section might call some of the | 445 | Alternatively, if the critical section might call some of the |
441 | usb_autopm_* routines, the driver can avoid deadlock by doing: | 446 | usb_autopm_* routines, the driver can avoid deadlock by doing: |
442 | 447 | ||