]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/pci-driver.c
Suspend/Resume bug in PCI layer wrt quirks
[linux-2.6-omap-h63xx.git] / drivers / pci / pci-driver.c
index 72cf61ed8f966d20f99c32d6acd77424e419ee69..677fd9d6db1228e16cdcc5072842463e5a0d8254 100644 (file)
@@ -292,6 +292,9 @@ static int pci_device_suspend(struct device * dev, pm_message_t state)
                if (pci_dev->current_state == PCI_D0)
                        pci_dev->current_state = PCI_UNKNOWN;
        }
+
+       pci_fixup_device(pci_fixup_suspend, pci_dev);
+
        return i;
 }
 
@@ -337,6 +340,7 @@ static int pci_device_resume(struct device * dev)
                error = drv->resume(pci_dev);
        else
                error = pci_default_resume(pci_dev);
+       pci_fixup_device(pci_fixup_resume, pci_dev);
        return error;
 }
 
@@ -346,7 +350,7 @@ static int pci_device_resume_early(struct device * dev)
        struct pci_dev * pci_dev = to_pci_dev(dev);
        struct pci_driver * drv = pci_dev->driver;
 
-       pci_fixup_device(pci_fixup_resume, pci_dev);
+       pci_fixup_device(pci_fixup_resume_early, pci_dev);
 
        if (drv && drv->resume_early)
                error = drv->resume_early(pci_dev);