[PATCH]: Error in ACPI error handling results in WARN_ON in IDE

Prarit Bhargava
2005-01-20T13:58:07Z

[-- Attachment #1: Type: text/plain, Size: 242 bytes --]

Hello,

I found a bug in the error handling in ACPI.

The issue here is the error handling within the ACPI layer. gsi = 0 is a
valid return value from acpi_pci_irq_lookup, while gsi = (-1) is the value
returned when a PRT cannot be found.

[-- Attachment #2: 1-acpi-ide.patch --]
[-- Type: text/plain, Size: 456 bytes --]

===== drivers/acpi/pci_irq.c 1.35 vs edited =====
--- 1.35/drivers/acpi/pci_irq.c 2005-01-04 21:48:17 -05:00
+++ edited/drivers/acpi/pci_irq.c 2005-01-14 08:14:34 -05:00
@@ -487,10 +487,10 @@
* If no PRT entry was found, we'll try to derive an IRQ from the
* device's parent bridge.
*/
- if (!gsi)
+ if (gsi == -1)
gsi = acpi_pci_irq_derive(dev, pin,
&edge_level, &active_high_low);
- if (!gsi)
+ if (gsi == -1)
return_VOID;

/*