[PATCH] 2.6.0-test4 Don't change BIOS allocated IRQs

From: Andrew de Quincey
Date: Tue Sep 16 2003 - 18:13:47 EST


With the help of Chris Wright testing several failed patches, I've tracked
down another ACPI IRQ problem. On many systems, the BIOS
pre-allocates IRQs for certain PCI devices, providing a list of alternate
possibilities as well.

On some systems, changing the IRQ to one of those alternate possibilities
works fine. On others however, it really isn't a good idea. As theres no
way to tell which systems are good and bad in advance, this patch simply
ensures that ACPI does not change an IRQ if the BIOS has pre-allocated it.



--- linux-2.6.0-test4.es7000fix/drivers/acpi/pci_link.c 2003-09-06 00:35:16.000000000 +0100
+++ linux-2.6.0-test4.nochangeirq/drivers/acpi/pci_link.c 2003-09-17 00:00:40.740553544 +0100
@@ -510,15 +510,15 @@
irq = link->irq.active;
} else {
irq = link->irq.possible[0];
- }

- /*
- * Select the best IRQ. This is done in reverse to promote
- * the use of IRQs 9, 10, 11, and >15.
- */
- for (i=(link->irq.possible_count-1); i>0; i--) {
- if (acpi_irq_penalty[irq] > acpi_irq_penalty[link->irq.possible[i]])
- irq = link->irq.possible[i];
+ /*
+ * Select the best IRQ. This is done in reverse to promote
+ * the use of IRQs 9, 10, 11, and >15.
+ */
+ for (i=(link->irq.possible_count-1); i>0; i--) {
+ if (acpi_irq_penalty[irq] > acpi_irq_penalty[link->irq.possible[i]])
+ irq = link->irq.possible[i];
+ }
}

/* Attempt to enable the link device at this IRQ. */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/