From owner-svn-src-all@FreeBSD.ORG Tue Jun 23 21:59:39 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5900E106564A; Tue, 23 Jun 2009 21:59:39 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 276258FC0A; Tue, 23 Jun 2009 21:59:39 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id CF43C46B3B; Tue, 23 Jun 2009 17:59:38 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id C285F8A079; Tue, 23 Jun 2009 17:59:37 -0400 (EDT) From: John Baldwin To: Marius Strobl Date: Tue, 23 Jun 2009 17:58:07 -0400 User-Agent: KMail/1.9.7 References: <200906232036.n5NKax9O089354@svn.freebsd.org> <200906231703.20496.jhb@freebsd.org> <20090623211342.GJ71667@alchemy.franken.de> In-Reply-To: <20090623211342.GJ71667@alchemy.franken.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906231758.07994.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Tue, 23 Jun 2009 17:59:37 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, yongari@freebsd.org Subject: Re: svn commit: r194763 - in head/sys: conf dev/gem modules/gem X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2009 21:59:39 -0000 On Tuesday 23 June 2009 5:13:42 pm Marius Strobl wrote: > On Tue, Jun 23, 2009 at 05:03:20PM -0400, John Baldwin wrote: > > On Tuesday 23 June 2009 4:36:59 pm Marius Strobl wrote: > > > Author: marius > > > Date: Tue Jun 23 20:36:59 2009 > > > New Revision: 194763 > > > URL: http://svn.freebsd.org/changeset/base/194763 > > > > > > Log: > > > - Initialize the ifnet structure, especially if_dname, before probing > > > the PHYs as some PHY drivers use it (but probably shouldn't). How > > > gem(4) has worked with brgphy(4) on powerpc without this so far is > > > unclear to me. > > > - Introduce a dying flag which is set during detach and checked in > > > gem_ioctl() in order to prevent active BPF listeners to clear > > > promiscuous mode which may lead to the tick callout being restarted > > > which will trigger a panic once it's actually gone. > > > > This should not be needed assuming you follow a model of: > > > > gem_detach() > > { > > > > ether_ifdetach(ifp); /* calls bpfdetach() */ > > GEM_LOCK(sc); > > gem_stop(sc); > > GEM_UNLOCK(sc); > > ... > > } > > > > If you are invoking gem_stop() prior to ether_ifdetach() then that is your > > real bug. :) > > > > Okay, I'll let yongari@ comment on this as he was the one > who claimed that either clearing IFF_UP in the driver before > calling ether_ifdetach(9) (which I think is a layering > violation) or the committed approach is necessary in order > to solve the problem :) I don't think one needs to clear IFF_UP explicitly. if_detach() will if_down() the interface as parts of its internal teardown. -- John Baldwin