From owner-cvs-src@FreeBSD.ORG Thu May 1 10:24:24 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 804D537B401; Thu, 1 May 2003 10:24:23 -0700 (PDT) Received: from magic.adaptec.com (magic-mail.adaptec.com [208.236.45.100]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8EF7B43FB1; Thu, 1 May 2003 10:24:22 -0700 (PDT) (envelope-from gibbs@scsiguy.com) Received: from redfish.adaptec.com (redfish.adaptec.com [162.62.50.11]) by magic.adaptec.com (8.11.6/8.11.6) with ESMTP id h41HLDZ00094; Thu, 1 May 2003 10:21:13 -0700 Received: from btc.btc.adaptec.com ([10.100.0.52]) by redfish.adaptec.com (8.8.8p2+Sun/8.8.8) with ESMTP id KAA06055; Thu, 1 May 2003 10:24:05 -0700 (PDT) Received: from [10.100.253.70] (aslan [10.100.253.70]) by btc.btc.adaptec.com (8.8.8+Sun/8.8.8) with ESMTP id LAA03405; Thu, 1 May 2003 11:24:01 -0600 (MDT) Date: Thu, 01 May 2003 11:24:02 -0600 From: "Justin T. Gibbs" To: "M. Warner Losh" 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> X-Mailer: Mulberry/3.0.3 (Linux/x86) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org cc: jhb@freebsd.org cc: gallatin@cs.duke.edu Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Justin T. Gibbs" List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 May 2003 17:24:25 -0000 > In message: <1742240000.1051807110@aslan.btc.adaptec.com> > "Justin T. Gibbs" 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