Commit c0354d57 authored by Len Brown's avatar Len Brown Committed by Len Brown

[ACPI] fix interrupts behind yenta cardbus bridge (David Shaohua Li)

http://bugzilla.kernel.org/show_bug.cgi?id=1564
parent 31fb1ef9
......@@ -273,6 +273,10 @@ acpi_pci_irq_lookup (struct pci_bus *bus, int device, int pin)
return_VALUE(entry->irq);
}
/*
* current thinking is that acpi_pci_irq_derive() adds no value
* and should be deleted, so warn if it actually does something.
*/
static int
acpi_pci_irq_derive (
......@@ -303,7 +307,8 @@ acpi_pci_irq_derive (
return_VALUE(0);
}
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Derived IRQ %d\n", irq));
ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Derive IRQ %d for device %s from %s\n",
irq, pci_name(dev), pci_name(bridge)));
return_VALUE(irq);
}
......@@ -339,6 +344,13 @@ acpi_pci_irq_enable (
*/
irq = acpi_pci_irq_lookup(dev->bus, PCI_SLOT(dev->devfn), pin);
/*
* Check if the device has an IRQ,
* Hotplug devices may get IRQs by scanning
*/
if (!irq && dev->irq)
irq = dev->irq;
/*
* If no PRT entry was found, we'll try to derive an IRQ from the
* device's parent bridge.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment