linux/drivers/usb/core
Alan Stern aa5ceae24b USB: handle LPM errors during device suspend correctly
The hub driver's usb_port_suspend() routine doesn't handle errors
related to Link Power Management properly.  It always returns failure,
it doesn't try to clean up the wakeup setting, (in the case of system
sleep) it doesn't try to go ahead with the port suspend regardless,
and it doesn't try to apply the new power-off mechanism.

This patch fixes these problems.

Note: Sarah fixed this patch to apply against 3.11, since the original
commit (4fae6f0fa8 "USB: handle LPM errors
during device suspend correctly") called usb_disable_remote_wakeup,
which won't be added until 3.12.

This patch should be backported to kernels as old as 3.5, that
contain the commit 8306095fd2 "USB:
Disable USB 3.0 LPM in critical sections.".  There will be merge
conflicts, since LTM wasn't added until 3.6.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@vger.kernel.org
2013-08-15 10:52:32 -07:00
..
buffer.c
config.c usb: Fail a get config when the port is powered off. 2012-09-10 13:04:01 -07:00
devices.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
devio.c Merge 3.10-rc5 into usb-next 2013-06-08 21:27:51 -07:00
driver.c PM / Runtime: Rework the "runtime idle" helper routine 2013-06-03 21:49:52 +02:00
endpoint.c usb/endpoint: Set release callback in the struct device_type instead of in the device itself directly 2012-08-20 14:38:08 -07:00
file.c USB: fix PTR_ERR translation in init_usb_class() 2013-06-06 12:14:38 -07:00
generic.c USB: avoid error messages when a device is disconnected 2013-03-28 11:05:52 -07:00
hcd-pci.c USB: improve port transitions when EHCI starts up 2013-03-28 14:45:57 -07:00
hcd.c Allow the USB HCD to create Wireless USB root hubs 2013-06-03 10:52:40 -07:00
hub.c USB: handle LPM errors during device suspend correctly 2013-08-15 10:52:32 -07:00
hub.h USB: global suspend and remote wakeup don't mix 2013-07-16 15:33:02 -07:00
Kconfig USB: remove remaining instances of USB_SUSPEND 2013-05-15 13:44:44 -04:00
Makefile usb: Add driver/usb/core/(port.c,hub.h) files 2013-01-18 15:49:00 -08:00
message.c usb: message: Fixed parenthesis error in sizeof function. 2013-05-17 10:09:26 -07:00
notify.c usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:25 -04:00
otg_whitelist.h
port.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
quirks.c usb: add two quirky touchscreen 2013-08-14 12:49:27 -07:00
sysfs.c usb: add usb2 Link PM variables to sysfs and usb_device 2013-06-05 16:48:40 -07:00
urb.c USB: fix urb-poison imbalance 2013-03-25 13:48:27 -07:00
usb-acpi.c usb/acpi: binding xhci root hub usb port with ACPI 2013-03-25 10:39:17 -07:00
usb.c usb: ehci: Only sleep for post-resume handover if devices use persist 2013-05-20 11:28:55 -07:00
usb.h USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00