PM: Allow USB devices to suspend/resume asynchronously
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 8 Feb 2010 18:18:16 +0000 (19:18 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Fri, 26 Feb 2010 19:39:12 +0000 (20:39 +0100)
commit927bc9165d3cd01054b472f9b25d91a8707209c8
treece0278e5f7acd62da2c3c7e66b205c8542cb0f62
parent6d19c009cc780c63de25a046509ebc9473809fd6
PM: Allow USB devices to suspend/resume asynchronously

Set power.async_suspend for USB devices, endpoints and interfaces,
allowing them to be suspended and resumed asynchronously during
system sleep transitions.

The power.async_suspend flag is also set for devices that don't have
suspend or resume callbacks, because otherwise they would make the
main suspend/resume thread wait for their "asynchronous" children
(during suspend) or parents (during resume), effectively negating the
possible gains from executing these devices' suspend and resume
callbacks asynchronously.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/usb/core/endpoint.c
drivers/usb/core/hub.c
drivers/usb/core/message.c