Date: Sun, 28 May 2006 18:41:47 +0000 (UTC) From: Mike Silbersack <silby@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/bfe if_bfe.c Message-ID: <200605281841.k4SIfl3Q080874@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
silby 2006-05-28 18:41:47 UTC FreeBSD src repository Modified files: sys/dev/bfe if_bfe.c Log: 1. Make sure that the TX and RX descriptor rings are 4096 byte aligned. Also use BUS_DMA_ALLOCNOW to be on the safe side. 2. Look for the Descriptor Error, and Descriptor Protocol Error flags from the card, and down the interface if we detect either. #1 (along with fixes to busdma) makes sure that this card works in all memory situations. Prior to this change, it was just luck that 512 count RX/TX lists were properly aligned. Now we can use any size of RX/TX lists and still have them properly aligned. #2 ensures that we don't get into an endless interrupt storm if busdma fails us. Descriptor Protocol Error would occur if we misaligned the TX/RX rings, and Descriptor Error would occur if we tried to give the card descriptors or rings with addresses > 1G. Trying to reinitialize the card isn't going to fix these errors, hence we don't try. Revision Changes Path 1.39 +21 -6 src/sys/dev/bfe/if_bfe.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605281841.k4SIfl3Q080874>