From owner-freebsd-current@FreeBSD.ORG Wed Dec 14 17:26:48 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B90F16A41F for ; Wed, 14 Dec 2005 17:26:48 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 42BF043D66 for ; Wed, 14 Dec 2005 17:26:47 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.13.4/8.13.4) with ESMTP id jBEHQFHn033564; Wed, 14 Dec 2005 09:26:15 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.13.4/8.13.4/Submit) id jBEHQFZp033563; Wed, 14 Dec 2005 09:26:15 -0800 (PST) Date: Wed, 14 Dec 2005 09:26:15 -0800 (PST) From: Matthew Dillon Message-Id: <200512141726.jBEHQFZp033563@apollo.backplane.com> To: "Bjoern A. Zeeb" , FreeBSD current mailing list References: <20051209175607.C23668@maildrop.int.zabbadoz.net> <20051210125221.M23668@maildrop.int.zabbadoz.net> <200512130031.jBD0VXih011394@apollo.backplane.com> <200512141710.jBEHAdZ3033442@apollo.backplane.com> Cc: Subject: Re: nve(4) patch - please test! X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2005 17:26:48 -0000 : In addition to moving the nv_setmulti() and nv_ifmedia_upd() calls : to a slightly different place in DFly (after pfnInit and before pfnStart), : I also noticed that pfnStop() seems to take a flags argument which the : header files define AFFECT_RECEIVER and AFFECT_TRANSMITTER for, : but both our codes have been calling pfnStop() with a flags argument of : 0. : : I don't know if adding the flags has any effect but it doesn't seem to : make things worse. If pfnStop() isn't actually stopping the hardware : due to incorrect flags then all sorts of bad things can happen. : : -Matt Bah. On the second part the pfnStop() function seems to expect some other type of argument,. 'ucIsPowerDown': typedef NV_API_CALL NV_SINT32 (* PFN_ADAPTER_STOP) (PNV_VOID pvContext, NV_UINT8 ucIsPowerDown); So it is unclear what those AFFECT_* flags refer to. It looks like Nvidia has made changes to the ABI and not cleaned up after themselves. However, for some reason I have not gotten another complete lockup (requiring replugging the physical power cord to fix) since making both changes, so I've decided to leave it in for the moment even though the flags are not likely related to the ucIsPowerDown argument. I also noticed an ABI call which resets the PHY called pfnResetPhyInitState(). It might be worth calling that if the adapter gets stuck. If I can get my adapter to stick again I'll try it. -Matt