aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/pci-driver.c')
-rw-r--r--drivers/pci/pci-driver.c7
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)