[linux-pm] [PATCH] USB: Fix suspend-resume of PCI USB controllers

Greg KH gregkh at suse.de
Mon Jan 19 17:36:02 PST 2009


On Tue, Jan 20, 2009 at 01:26:56AM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rjw at sisk.pl>
> 
> Commit a0d4922da2e4ccb0973095d8d29f36f6b1b5f703
> (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 at sisk.pl>
> Tested-by: Andrey Borzenkov <arvidjaar at mail.ru>
> Tested-by: "Jeff Chua" <jeff.chua.linux at gmail.com>
> Cc: Alan Stern <stern at rowland.harvard.edu>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Christian Borntraeger <borntraeger at de.ibm.com>
> Cc: "Zdenek Kabelac" <zdenek.kabelac at gmail.com>
> Cc: Ingo Molnar <mingo at elte.hu>


Alan, does this look ok for you?

thanks,

greg k-h


More information about the linux-pm mailing list