Date: Fri, 12 Nov 1999 12:05:01 +1030 (CST) From: Mark Newton <newton@internode.com.au> To: peter.jeremy@alcatel.com.au Cc: current@FreeBSD.ORG Subject: Re: panic: nexus_setup_intr: NULL irq resource! Message-ID: <199911120135.MAA21532@gizmo.internode.com.au> In-Reply-To: <99Nov12.121756est.40354@border.alcanet.com.au> from "Peter Jeremy" at Nov 12, 99 12:23:54 pm
next in thread | previous in thread | raw e-mail | index | archive | help
Peter Jeremy wrote: > I'm trying to enable a generic ISA multiport SIO card in -current from > just before the signal changes and get presented with the above panic > when the first SIO port on the card is attached. Well... the first port that doesn't mention an IRQ. I discussed this with Bruce last month; The following patch seemed to work-around, even though it's a stupid hack which shouldn't be committed. The problem is that the BUS_SETUP_INTR() method for ISA seems to absolutely require the specification of an IRQ, even though IRQ specification is absolutely prohibited for non-master ports in AST-compatible multi-port sio cards. Gah. I'm not completely sure that this patch does the right thing (in terms of allowing the slave serial ports to work correctly) anyway: I haven't stress-tested it, I was more interested in getting the machine involved to be able to boot. More investigation is required. - mark *** /tmp/co/src/sys/i386/isa/isa.c Wed Sep 1 16:04:24 1999 --- isa.c Wed Oct 6 23:00:26 1999 *************** *** 137,142 **** --- 137,152 ---- isa_setup_intr(device_t bus, device_t child, struct resource *r, int flags, void (*ihand)(void *), void *arg, void **cookiep) { + if (r == NULL) { + /* + * handle the case for multiport sio cards, where + * the kernel config file mentions lots of sio ports + * but only provides the irq on the master port -- other + * ports panic in nexus_setup_intr() without this + */ + return 0; + } + return (BUS_SETUP_INTR(device_get_parent(bus), child, r, flags, ihand, arg, cookiep)); } ---- Mark Newton Email: newton@internode.com.au (W) Network Engineer Email: newton@atdot.dotat.org (H) Internode Systems Pty Ltd Desk: +61-8-82232999 "Network Man" - Anagram of "Mark Newton" Mobile: +61-416-202-223 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911120135.MAA21532>