From owner-cvs-all@FreeBSD.ORG Thu Aug 18 19:19:16 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 DE4B016A41F; Thu, 18 Aug 2005 19:19:16 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from www.portaone.com (web.portaone.com [195.70.151.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2288543D45; Thu, 18 Aug 2005 19:19:15 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from [192.168.0.49] (lesnik.portaone.com [195.140.246.50] (may be forged)) (authenticated bits=0) by www.portaone.com (8.12.11/8.12.11) with ESMTP id j7IIh7An032995 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 18 Aug 2005 20:43:08 +0200 (CEST) (envelope-from sobomax@portaone.com) Message-ID: <4304D6B9.8050603@portaone.com> Date: Thu, 18 Aug 2005 21:43:05 +0300 From: Maxim Sobolev Organization: Porta Software Ltd User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200508181429.j7IET16d038533@repoman.freebsd.org> <200508181238.05411.jhb@FreeBSD.org> In-Reply-To: <200508181238.05411.jhb@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-6; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.86.2/1033/Thu Aug 18 19:52:45 2005 on www.portaone.com X-Virus-Status: Clean X-Spam-Status: No, score=-5.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.0 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on www.portaone.com Cc: cvs-src@FreeBSD.ORG, src-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/dev/re if_re.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim.Sobolev@portaone.com List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Aug 2005 19:19:17 -0000 John Baldwin wrote: > On Thursday 18 August 2005 10:29 am, Maxim Sobolev wrote: > >>sobomax 2005-08-18 14:29:01 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/dev/re if_re.c >> Log: >> In re_shutdown() mark interface as down since otherwise we will panic if >> interrupt comes in later on, which can happen in some uncommon cases. >> >> Another possible fix is to call re_detach() instead of re_stop(), like >> ve(4) does, but I am not sure if the latter is really RTTD, so that stick >> with this one-liner for now. >> >> PR: kern/80005 >> Approved by: silence on -arch, no reply from selected network gurus > > > The PR reports problems while the machine is running, not a panic during > shutdown. I couldn't get the PR database to load the PR with the panic from Sorry, it has been a typo - in fact I was reffering to kern/85005. > vr(4) yesterday. It's very unclear why clearing IFF_UP makes any difference. > Ah, perhaps re_intr() should be fixed to check IFF_DRV_RUNNING rather than > IFF_UP? Then the re_stop() in re_shutdown() would be sufficient. Yes, this will help. However, I am not quite sure, what is the point to do interrupt processing if interface is down? Perhaps re_intr() should check both IFF_DRV_RUNNING and IFF_UP? > I also think that the change to vr(4) should be reverted (way too big of a > sledge hammer) and instead its interrupt handler can check IFF_DRV_RUNNING > and bail if it is clear as well. Well, see kern/85005. IMO some generic approach should be worked out and implemented since I think many other network drivers may be affected by the same problem. -Maxim