aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/hcd-pci.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index 6c1642b382f..aa7bbbcf9d8 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -495,6 +495,15 @@ static int hcd_pci_suspend_noirq(struct device *dev)
495 495
496 pci_save_state(pci_dev); 496 pci_save_state(pci_dev);
497 497
498 /*
499 * Some systems crash if an EHCI controller is in D3 during
500 * a sleep transition. We have to leave such controllers in D0.
501 */
502 if (hcd->broken_pci_sleep) {
503 dev_dbg(dev, "Staying in PCI D0\n");
504 return retval;
505 }
506
498 /* If the root hub is dead rather than suspended, disallow remote 507 /* If the root hub is dead rather than suspended, disallow remote
499 * wakeup. usb_hc_died() should ensure that both hosts are marked as 508 * wakeup. usb_hc_died() should ensure that both hosts are marked as
500 * dying, so we only need to check the primary roothub. 509 * dying, so we only need to check the primary roothub.