diff options
Diffstat (limited to 'drivers/pci/pci-driver.c')
-rw-r--r-- | drivers/pci/pci-driver.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index fca925543fae..32bd8ab79d53 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c | |||
@@ -944,7 +944,12 @@ static int pci_pm_thaw_noirq(struct device *dev) | |||
944 | if (pci_has_legacy_pm_support(pci_dev)) | 944 | if (pci_has_legacy_pm_support(pci_dev)) |
945 | return pci_legacy_resume_early(dev); | 945 | return pci_legacy_resume_early(dev); |
946 | 946 | ||
947 | pci_update_current_state(pci_dev, PCI_D0); | 947 | /* |
948 | * pci_restore_state() requires the device to be in D0 (because of MSI | ||
949 | * restoration among other things), so force it into D0 in case the | ||
950 | * driver's "freeze" callbacks put it into a low-power state directly. | ||
951 | */ | ||
952 | pci_set_power_state(pci_dev, PCI_D0); | ||
948 | pci_restore_state(pci_dev); | 953 | pci_restore_state(pci_dev); |
949 | 954 | ||
950 | if (drv && drv->pm && drv->pm->thaw_noirq) | 955 | if (drv && drv->pm && drv->pm->thaw_noirq) |