Date: Mon, 6 Jan 2003 15:46:47 -0800 (PST) From: John Polstra <jdp@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h Message-ID: <200301062346.h06NklsP071141@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301062346.h06NklsP071141>