Commit de6511ff authored by Linus Torvalds's avatar Linus Torvalds

Fix PCI irq routing to always look up the bridge swizzling

if a direct lookup didn't work.
parent 22775da0
...@@ -325,20 +325,16 @@ acpi_pci_irq_enable ( ...@@ -325,20 +325,16 @@ acpi_pci_irq_enable (
* values override any BIOS-assinged IRQs set during boot. * values override any BIOS-assinged IRQs set during boot.
*/ */
irq = acpi_pci_irq_lookup(0, dev->bus->number, PCI_SLOT(dev->devfn), pin); irq = acpi_pci_irq_lookup(0, dev->bus->number, PCI_SLOT(dev->devfn), pin);
if (irq)
dev->irq = irq;
/* /*
* If no PRT entry was found and the device wasn't assigned an IRQ * If no PRT entry was found, we'll try to derive an IRQ from the
* during boot we'll try to derive an IRQ from the device's parent * device's parent bridge.
* bridge.
*/ */
if (!dev->irq && dev->bus->self) { if (!irq)
irq = acpi_pci_irq_derive(dev, pin); irq = acpi_pci_irq_derive(dev, pin);
if (irq) if (irq)
dev->irq = irq; dev->irq = irq;
}
if (!dev->irq) { if (!dev->irq) {
printk(KERN_WARNING PREFIX "No IRQ known for interrupt pin %c of device %s\n", ('A' + pin), dev->slot_name); printk(KERN_WARNING PREFIX "No IRQ known for interrupt pin %c of device %s\n", ('A' + pin), dev->slot_name);
......
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