From owner-freebsd-current Fri Nov 12 4:10:12 1999 Delivered-To: freebsd-current@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 6296614BFE for ; Fri, 12 Nov 1999 04:10:06 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from p61-ts5.syd2.zeta.org.au (beefcake.zeta.org.au [203.26.10.12]) by mailman.zeta.org.au (8.8.7/8.8.7) with ESMTP id XAA19705; Fri, 12 Nov 1999 23:16:17 +1100 Date: Fri, 12 Nov 1999 23:09:59 +1100 (EST) From: Bruce Evans X-Sender: bde@alphplex.bde.org To: Peter Jeremy Cc: Mark Newton , current@FreeBSD.ORG Subject: Re: panic: nexus_setup_intr: NULL irq resource! In-Reply-To: <99Nov12.125653est.40350@border.alcanet.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 12 Nov 1999, Peter Jeremy wrote: > On 1999-Nov-12 12:35:01 +1100, Mark Newton wrote: > >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. This is fixed differently (directly in the driver) in nsio (dev/sio/sio.c) rev.1.267. Both fixes are probably necessary and more or less correct. Drivers shouldn't attempt to register null interrupts, and attempting this probably shouldn't cause panics. > As an aside, why doesn't our SIO driver work with ports that don't > have interrupts? Same problem. Ports that don't have interrupts give polled mode, and the driver shouldn't attempt to register the null interrupts for polled mode, but this was broken when the driver was converted to new-bus. > >I'm not completely sure that this patch does the right thing > > Since your patch effectively turns isa_setup_intr() into a nop for > this case, a better patch would seem to be to skip the call to > BUS_SETUP_INTR() (and presumably bus_alloc_resource()) at the end > of sioattach() when you're attaching a slave SIO port. nsio still has the bus_alloc_resource(). This seems to be a harmless but bogus no-op if the resource isn't there. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message