On Mon, 2007-10-01 at 16:37 -0500, Scott Wood wrote: > 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).
It will work in the specific 8259 case I suppose since it gets the legacy 1:1 mapping... but it sucks :-) Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev