kernel-ark/drivers/usb/core
Rafael J. Wysocki a15d95a003 USB: Fix suspend-resume of PCI USB controllers
Commit a0d4922da2
(USB: fix up suspend and resume for PCI host controllers) attempted
to fix the suspend-resume of PCI USB controllers, but unfortunately
it did that incorrectly and interrupts are left enabled by the USB
controllers' ->suspend_late() callback as a result.  This leads to
serious problems during suspend which are very difficult to debug.

Fix the issue by removing the ->suspend_late() callback of PCI
USB controllers and moving the code from there to the ->suspend()
callback executed with interrupts enabled.  Additionally, make
the ->resume() callback of PCI USB controllers execute
pci_enable_wake(dev, PCI_D0, false) to disable wake-up from the
full power state (PCI_D0).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Andrey Borzenkov <arvidjaar@mail.ru>
Tested-by: "Jeff Chua" <jeff.chua.linux@gmail.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: "Zdenek Kabelac" <zdenek.kabelac@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-27 16:15:32 -08:00
..
buffer.c USB: fix codingstyle issues in drivers/usb/core/*.c 2008-02-01 14:35:08 -08:00
config.c USB: ehci tolerates some buggy devices 2008-04-24 21:16:35 -07:00
devices.c usb: hub: add check for unsupported bus topology 2008-07-21 15:16:26 -07:00
devio.c USB: fix minor nit in usbfs checking 2009-01-07 10:00:13 -08:00
driver.c USB: fix toggle mismatch in disable_endpoint paths 2009-01-27 16:15:32 -08:00
endpoint.c USB: utilize the bus notifiers 2009-01-07 10:00:08 -08:00
file.c USB: remove err() macro from usb core code 2008-10-17 14:41:11 -07:00
generic.c USB: Enhance usage of pm_message_t 2009-01-07 10:00:03 -08:00
hcd-pci.c USB: Fix suspend-resume of PCI USB controllers 2009-01-27 16:15:32 -08:00
hcd.c USB: mark "reject" field of struct urb as atomic_t 2009-01-07 10:00:08 -08:00
hcd.h USB: Fix suspend-resume of PCI USB controllers 2009-01-27 16:15:32 -08:00
hub.c USB: fix toggle mismatch in disable_endpoint paths 2009-01-27 16:15:32 -08:00
hub.h wusb: make ep0_reinit available for modules 2008-04-24 21:16:59 -07:00
inode.c zero i_uid/i_gid on inode allocation 2009-01-05 11:54:28 -05:00
Kconfig usb core: fix USB_OTG_BLACKLIST_HUB typo 2008-10-17 14:40:54 -07:00
Makefile USB: add a blacklist for devices that can't handle some things we throw at them. 2007-02-23 15:03:46 -08:00
message.c USB: fix toggle mismatch in disable_endpoint paths 2009-01-27 16:15:32 -08:00
notify.c USB : correct comments in usb/core/notify.c 2008-02-01 14:34:44 -08:00
otg_whitelist.h USB: fix codingstyle issues in drivers/usb/core/*.h 2008-02-01 14:35:07 -08:00
quirks.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-06-17 18:10:40 -07:00
sysfs.c USB: utilize the bus notifiers 2009-01-07 10:00:08 -08:00
urb.c USB: extension of anchor API to unpoison an anchor 2009-01-07 10:00:11 -08:00
usb.c USB: re-enable interface after driver unbinds 2009-01-07 10:00:13 -08:00
usb.h USB: fix toggle mismatch in disable_endpoint paths 2009-01-27 16:15:32 -08:00