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>
