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.


===== 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;
 
        /*

Reply via email to