aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pci_irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/pci_irq.c')
-rw-r--r--drivers/acpi/pci_irq.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index 9c62340c2360..c96887d5289e 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -481,6 +481,10 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
481 if (!pin) 481 if (!pin)
482 return; 482 return;
483 483
484 /* Keep IOAPIC pin configuration when suspending */
485 if (dev->dev.power.is_prepared)
486 return;
487
484 entry = acpi_pci_irq_lookup(dev, pin); 488 entry = acpi_pci_irq_lookup(dev, pin);
485 if (!entry) 489 if (!entry)
486 return; 490 return;
@@ -498,5 +502,6 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
498 */ 502 */
499 503
500 dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin)); 504 dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
501 acpi_unregister_gsi(gsi); 505 if (gsi >= 0 && dev->irq > 0)
506 acpi_unregister_gsi(gsi);
502} 507}