From owner-cvs-all@FreeBSD.ORG Mon Sep 19 14:54:42 2005 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A884416A41F; Mon, 19 Sep 2005 14:54:42 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 69B6D43D49; Mon, 19 Sep 2005 14:54:40 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from localhost (rocky.ip.net.ua [82.193.96.2]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id j8JEsRqH008578; Mon, 19 Sep 2005 17:54:27 +0300 (EEST) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua ([82.193.96.10]) by localhost (rocky.ipnet [82.193.96.2]) (amavisd-new, port 10024) with LMTP id 22693-03; Mon, 19 Sep 2005 17:54:26 +0300 (EEST) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id j8JEs26p008200 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 19 Sep 2005 17:54:07 +0300 (EEST) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.13.3/8.13.3) id j8JEsIPJ084231; Mon, 19 Sep 2005 17:54:18 +0300 (EEST) (envelope-from ru) Date: Mon, 19 Sep 2005 17:54:18 +0300 From: Ruslan Ermilov To: "M. Warner Losh" Message-ID: <20050919145417.GE83017@ip.net.ua> References: <200509182051.j8IKpYGU073493@repoman.freebsd.org> <20050919054051.GB65954@ip.net.ua> <20050919.083111.123550990.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HeFlAV5LIbMFYYuh" Content-Disposition: inline In-Reply-To: <20050919.083111.123550990.imp@bsdimp.com> User-Agent: Mutt/1.5.9i X-Virus-Scanned: by amavisd-new at ip.net.ua Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/ed if_ed.c if_ed_pccard.c if_edvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Sep 2005 14:54:42 -0000 --HeFlAV5LIbMFYYuh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Sep 19, 2005 at 08:31:11AM -0600, M. Warner Losh wrote: > In message: <20050919054051.GB65954@ip.net.ua> > Ruslan Ermilov writes: > : About the commonality... Usually foo_stop() (which is called first in > : foo_detach() if you were talking about the detach) disables interrupts, > : so foo_intr() doesn't usually happen. From reading the code, I see the > : same holds true for ed(4). >=20 > Wrong. Foo_intr() does still happen because other devices can > generate interrupts... >=20 Ah, you're right, I missed this bit. :-) > : OTOH, it was shown that on some SMP machines it's possible to get a > : call to foo_intr() after foo_stop() has been called by foo_shutdown(), > : which will lead to a panic in most of the drivers. See kern/85005 and > : kern/62889 for some examples. > :=20 > : I think the generic solution to this problem should be to return from > : foo_intr() quickly if IFF_DRV_RUNNING is not set. >=20 > Only if we free ifp after we tear down the interrupts. >=20 Yes. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --HeFlAV5LIbMFYYuh Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFDLtEZqRfpzJluFF4RAjeRAJ4vqJuPcSbggr1qoCTtrAPmponWpQCdFrlB GgLKIMqcqQldybssWmXiuD4= =7UWU -----END PGP SIGNATURE----- --HeFlAV5LIbMFYYuh--