Re: Re: Status of PCI-PCI bridge on UMAX S900
From: jingai <hidden>
Date: 2000-12-29 00:16:41
just a short followup to the message i sent to debian-powerpc, i applied the following diff and was able to move my usb board to the other side of
the
quoted hunk
umax/s900 bridge w/o any ill effect:--- prom.c.000 Thu Dec 28 08:43:12 2000 +++ prom.c Thu Dec 28 09:06:16 2000@@ -1563,8 +1563,8 @@ } ip = (int *) get_property(np, "AAPL,interrupts", &l); - if (ip == 0) - ip = (int *) get_property(np, "interrupts", &l); + if (ip == 0 && np->parent != NULL) + ip = (int *) get_property(np->parent, "AAPL,interrupts",&l); if (ip != 0) { np->intrs = (struct interrupt_info *) mem_start; np->n_intrs = l / sizeof(int);
Doh! I didn't even think to check if the second get_property() call was returning > 0.. this fixes it! Thanks bunches for spotting that!
on a related, note, shouldnt the 'right' code be:
ip = (int *) get_property(np, "interrupts", &l);
if (ip > 0)
{
/* find and assign interrupt -- see above */
}
pci boards should only get an interrupt if they have the interrupt
property (which seems to be the number of interrupts, not the interruptnumber) Seems correct to me, but I'm no kernel guru, so I'll let someone else answer authoritatively. -j ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/