Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
[sfrench/cifs-2.6.git] / drivers / acpi / pci_irq.c
index 9032db7e4b3a5a63d9140936a686a66dd4f76ea4..c8e169e46673ae253882872cda7a94249540c3a5 100644 (file)
@@ -478,6 +478,14 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
        if (!pin || !dev->irq_managed || dev->irq <= 0)
                return;
 
+       /* Keep IOAPIC pin configuration when suspending */
+       if (dev->dev.power.is_prepared)
+               return;
+#ifdef CONFIG_PM
+       if (dev->dev.power.runtime_status == RPM_SUSPENDING)
+               return;
+#endif
+
        entry = acpi_pci_irq_lookup(dev, pin);
        if (!entry)
                return;
@@ -498,6 +506,5 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
        if (gsi >= 0) {
                acpi_unregister_gsi(gsi);
                dev->irq_managed = 0;
-               dev->irq = 0;
        }
 }