summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2007-11-19 21:57:45 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 23:34:51 +0100
commit269954e542328f014fc07fbb0a986192f7a1cced (patch)
tree0f5e19458466559fc914f0a0b36061d3f3af0857 /drivers/usb/core
parentUSB: make ksuspend_usbd thread non-freezable (diff)
downloadlinux-269954e542328f014fc07fbb0a986192f7a1cced.tar.xz
linux-269954e542328f014fc07fbb0a986192f7a1cced.zip
USB: don't change HC power state for a FREEZE
This patch (as1016) prevents PCI-based host controllers from undergoing a power-state change during a FREEZE or a PRETHAW. Such changes are needed only during a SUSPEND. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> CC: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/hcd-pci.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index 3fb9af80cbf4..424674203fd3 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -250,6 +250,12 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message)
pci_disable_device (dev);
}
+ if (message.event == PM_EVENT_FREEZE ||
+ message.event == PM_EVENT_PRETHAW) {
+ dev_dbg(hcd->self.controller, "--> no state change\n");
+ goto done;
+ }
+
if (!has_pci_pm) {
dev_dbg (hcd->self.controller, "--> PCI D0/legacy\n");
goto done;