From owner-cvs-all Thu Nov 7 8: 6: 5 2002 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 3CD4837B401; Thu, 7 Nov 2002 08:06:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0019E43E6E; Thu, 7 Nov 2002 08:06:03 -0800 (PST) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gA7G47mV023143; Thu, 7 Nov 2002 08:04:07 -0800 (PST) (envelope-from iedowse@repoman.freebsd.org) Received: (from iedowse@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gA7G478P023142; Thu, 7 Nov 2002 08:04:07 -0800 (PST) Message-Id: <200211071604.gA7G478P023142@repoman.freebsd.org> From: Ian Dowse Date: Thu, 7 Nov 2002 08:04:07 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG iedowse 2002/11/07 08:04:07 PST Modified files: sys/dev/fxp if_fxp.c if_fxpvar.h Log: Properly fix the occassional random crash issue that revision 1.142 just limited to the DEVICE_POLLING case. This removes the FXP_RFA_RNRMARK hack, and replaces it with a softc flag that is used to record when the handling of a no-resource condition was deferred due to running out of DEVICE_POLLING cycles. This was tested on -stable, but the code is essentially the same as in -current. It should only affect the case where DEVICE_POLLING is defined. The details of the mechanism behind the crashes are still uncertain but the most likely cause seems to be some kind of hardware confusion when the no-resource recovery code is accidentally invoked while the receiver is still active. This could have happened if the hardware left the 0x4000 bit of the RFA status word set. The comments in the commit log for revision 1.142 stating that the driver could clash with the hardware writing to this status word were not correct. Tested by: Guy Helmer Revision Changes Path 1.143 +23 -31 src/sys/dev/fxp/if_fxp.c 1.22 +1 -0 src/sys/dev/fxp/if_fxpvar.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message