Skip site navigation (1)Skip section navigation (2)
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>