Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Change the kernel config for scenario test
[kvmfornfv.git]
/
kernel
/
drivers
/
acpi
/
pci_irq.c
diff --git
a/kernel/drivers/acpi/pci_irq.c
b/kernel/drivers/acpi/pci_irq.c
index
c933675
..
8a10a7a
100644
(file)
--- a/
kernel/drivers/acpi/pci_irq.c
+++ b/
kernel/drivers/acpi/pci_irq.c
@@
-409,7
+409,7
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
return 0;
}
return 0;
}
- if (
pci_has_managed_irq(dev)
)
+ if (
dev->irq_managed && dev->irq > 0
)
return 0;
entry = acpi_pci_irq_lookup(dev, pin);
return 0;
entry = acpi_pci_irq_lookup(dev, pin);
@@
-454,7
+454,8
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
kfree(entry);
return rc;
}
kfree(entry);
return rc;
}
- pci_set_managed_irq(dev, 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);
@@
-477,9
+478,17
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
u8 pin;
pin = dev->pin;
u8 pin;
pin = dev->pin;
- if (!pin || !
pci_has_managed_irq(dev)
)
+ if (!pin || !
dev->irq_managed || dev->irq <= 0
)
return;
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;
entry = acpi_pci_irq_lookup(dev, pin);
if (!entry)
return;
@@
-499,6
+508,6
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
if (gsi >= 0) {
acpi_unregister_gsi(gsi);
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
if (gsi >= 0) {
acpi_unregister_gsi(gsi);
-
pci_reset_managed_irq(dev)
;
+
dev->irq_managed = 0
;
}
}
}
}