Date: Thu, 01 May 2003 11:24:02 -0600 From: "Justin T. Gibbs" <gibbs@scsiguy.com> To: "M. Warner Losh" <imp@bsdimp.com> Cc: gallatin@cs.duke.edu Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h Message-ID: <1757900000.1051809842@aslan.btc.adaptec.com> In-Reply-To: <20030501.111315.85393988.imp@bsdimp.com> References: <1721460000.1051803729@aslan.btc.adaptec.com> <20030501.101409.57443470.imp@bsdimp.com> <1742240000.1051807110@aslan.btc.adaptec.com> <20030501.111315.85393988.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> In message: <1742240000.1051807110@aslan.btc.adaptec.com> > "Justin T. Gibbs" <gibbs@scsiguy.com> writes: > : I don't see that there is any problem with the above approach (it is the > : same flow as is used by the ahc and ahd driver) but I still don't see why > : a gone flag is required. Just run through the handler as you normally > : would in the shared interrupt case. The handler will exit if written > : correctly. > > You assume that the hardware is still there in this case. That is a different issue than the one that was under discussion. The strategy for dealing with the device being gone will have to vary from device to device, but using a gone flag *does not close that race either*. The card may be ejected while you are in the middle of your interrupt handler, but *after* you have checked the gone flag. Dealing with this correctly may be two expensive for a PCI card put into a server so you may end up with two interrupt handlers: one that is installed if the device is a cardbus card, another that is installed for PCI cards. -- Justin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1757900000.1051809842>