From owner-cvs-all Mon Jan 6 15:46:48 2003 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 C0C6D37B401; Mon, 6 Jan 2003 15:46:47 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B47643EE1; Mon, 6 Jan 2003 15:46:47 -0800 (PST) (envelope-from jdp@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 h06Nklfh071142; Mon, 6 Jan 2003 15:46:47 -0800 (PST) (envelope-from jdp@repoman.freebsd.org) Received: (from jdp@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h06NklsP071141; Mon, 6 Jan 2003 15:46:47 -0800 (PST) Message-Id: <200301062346.h06NklsP071141@repoman.freebsd.org> From: John Polstra Date: Mon, 6 Jan 2003 15:46:47 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/bge if_bge.c if_bgereg.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 jdp 2003/01/06 15:46:47 PST Modified files: sys/dev/bge if_bge.c if_bgereg.h Log: Don't reference the maxlen and flags fields in the ring control blocks as separate 16-bit entities. Some of the ring control blocks are in NIC memory, so they must be referenced using 32-bit accesses. Smaller accesses have been observed to fail under some conditions. This caused the rings to be set up wrong, leading to writes by the card outside of the intended bounds of the rings. This problem was diagnosed by Michael Barthelow. Don Bowman submitted a patch which fixed the problem using a slightly different approach. Reference ring control blocks in NIC memory using a pointer to volatile. Parenthesize the BGE_HOSTADDR macro definition properly. MFC after: 3 days Revision Changes Path 1.26 +42 -47 src/sys/dev/bge/if_bge.c 1.12 +3 -10 src/sys/dev/bge/if_bgereg.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message