usb: enable usb port device's async suspend.

This patch is to set power.async_suspend for usb port in order
to allow it 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: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Lan Tianyu 2013-01-23 04:26:32 +08:00 committed by Greg Kroah-Hartman
parent f6cced1a08
commit 192fef18d0
1 changed files with 1 additions and 0 deletions

View File

@ -186,6 +186,7 @@ int usb_hub_create_port_device(struct usb_hub *hub, int port1)
PM_QOS_FLAG_NO_POWER_OFF))
pm_runtime_enable(&port_dev->dev);
device_enable_async_suspend(&port_dev->dev);
retval = usb_acpi_register_power_resources(&port_dev->dev);
if (retval && retval != -ENODEV)