Problem with OF interrupt parsing code
Scott Wood
scottwood at freescale.com
Tue Oct 2 07:37:56 EST 2007
Scott Wood wrote:
>> The problem occurs now, if there is no device node defined for another
>> PCI device. In this case, of_irq_map_pci() checks for an interrupt pin,
>> searches again for the host bridge node and calls of_irq_map_raw() with
>> the device node of the host bridge. The function finds the
>> #interrupt-cells, #address-cells, interrupt-controller properties, but
>> fails to find the interrupt-map property (because it's missing in the
>> device tree). Therefore the function then tries to find a new parent,
>> which leads to an endless loop (it always selects the PCI2ISA southbridge
>> in the device tree).
>
> That seems likely... there should probably be some loop detection.
Actually, it doesn't -- it should stop when it sees the
interrupt-controller property in the i8259 node, at which point it'll be
trying to use the raw PCI IRQ pin number as an i8259 IRQ. This is
Unlikely To Work(tm).
-Scott
More information about the Linuxppc-dev
mailing list