Date: Fri, 24 Dec 1999 10:57:11 +0100 (CET) From: Nick Hibma <n_hibma@webweaving.org> To: Bill Paul <wpaul@FreeBSD.ORG> Cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/dev/usb uhci.c Message-ID: <Pine.BSF.4.20.9912241055430.397-100000@localhost> In-Reply-To: <199912230519.VAA78073@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> - In uhci_intr() check to see if sc->sc_bus.bdev is NULL, and if it is, > ack any pending interrupts and disable them, then return. It is possible > for interrupts to be delivered the moment a handler is set up at attach > time in uhci_pci.c, particularly when attempting to kldload the usb.ko > module after the system is already up. However the driver isn't ready > to field interrupts at that time and certain pointers in the softc > struct aren't initialized yet, and we invariably end up falling off > the end of one of them. The effect is that kldloading the usb module > will panic the system in uhci_intr(). This added sanity check stops > this from happening: I can now kldload the usb.ko module without any > problems and load/attach other USB drivers after it. Hm, that makes sense as the cause of it. Cheers. Nick -- n_hibma@webweaving.org n_hibma@freebsd.org USB project http://www.etla.net/~n_hibma/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.9912241055430.397-100000>