diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/pci-driver.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index fdb6a697e05a..ac6c9e493f4c 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c | |||
@@ -434,16 +434,18 @@ static int pci_pm_default_resume(struct pci_dev *pci_dev) | |||
434 | { | 434 | { |
435 | pci_fixup_device(pci_fixup_resume, pci_dev); | 435 | pci_fixup_device(pci_fixup_resume, pci_dev); |
436 | 436 | ||
437 | if (!pci_is_bridge(pci_dev)) | 437 | if (pci_is_bridge(pci_dev)) |
438 | pci_enable_wake(pci_dev, PCI_D0, false); | 438 | return 0; |
439 | 439 | ||
440 | pci_enable_wake(pci_dev, PCI_D0, false); | ||
440 | return pci_pm_reenable_device(pci_dev); | 441 | return pci_pm_reenable_device(pci_dev); |
441 | } | 442 | } |
442 | 443 | ||
443 | static void pci_pm_default_suspend_generic(struct pci_dev *pci_dev) | 444 | static void pci_pm_default_suspend_generic(struct pci_dev *pci_dev) |
444 | { | 445 | { |
445 | /* If device is enabled at this point, disable it */ | 446 | /* If a non-bridge device is enabled at this point, disable it */ |
446 | pci_disable_enabled_device(pci_dev); | 447 | if (!pci_is_bridge(pci_dev)) |
448 | pci_disable_enabled_device(pci_dev); | ||
447 | /* | 449 | /* |
448 | * Save state with interrupts enabled, because in principle the bus the | 450 | * Save state with interrupts enabled, because in principle the bus the |
449 | * device is on may be put into a low power state after this code runs. | 451 | * device is on may be put into a low power state after this code runs. |