projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'iwlwifi-next-for-kalle-2014-12-30' of https://git.kernel.org/pub/scm/linux...
[cascardo/linux.git]
/
drivers
/
acpi
/
pci_irq.c
diff --git
a/drivers/acpi/pci_irq.c
b/drivers/acpi/pci_irq.c
index
7cc4e33
..
5277a0e
100644
(file)
--- a/
drivers/acpi/pci_irq.c
+++ b/
drivers/acpi/pci_irq.c
@@
-413,6
+413,9
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
return 0;
}
return 0;
}
+ if (dev->irq_managed && dev->irq > 0)
+ return 0;
+
entry = acpi_pci_irq_lookup(dev, pin);
if (!entry) {
/*
entry = acpi_pci_irq_lookup(dev, pin);
if (!entry) {
/*
@@
-456,6
+459,7
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
return rc;
}
dev->irq = rc;
return rc;
}
dev->irq = rc;
+ dev->irq_managed = 1;
if (link)
snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
if (link)
snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
@@
-478,7
+482,7
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
u8 pin;
pin = dev->pin;
u8 pin;
pin = dev->pin;
- if (!pin)
+ if (!pin
|| !dev->irq_managed || dev->irq <= 0
)
return;
/* Keep IOAPIC pin configuration when suspending */
return;
/* Keep IOAPIC pin configuration when suspending */
@@
-506,6
+510,9
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
*/
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
*/
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
- if (gsi >= 0
&& dev->irq > 0)
+ if (gsi >= 0
) {
acpi_unregister_gsi(gsi);
acpi_unregister_gsi(gsi);
+ dev->irq = 0;
+ dev->irq_managed = 0;
+ }
}
}