Date: Sat, 9 Aug 2003 19:41:18 -0700 (PDT) From: Bill Paul <wpaul@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_rl.c Message-ID: <200308100241.h7A2fIZ7075075@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
wpaul 2003/08/09 19:41:18 PDT
FreeBSD src repository
Modified files:
sys/pci if_rl.c
Log:
Grrr. There is a gratuitous difference in the RX descriptor status
word between the 8139C+ and the 8169. The 8139C+ has a 'frame alignment
error bit' (bit 27) but the 8169 does not. Rather than simply mark this
bit as reserved, RealTek removed it completely and shifted the remaining
status bits one space to the left. This was causing rl_rxeofcplus()
to misparse the error and checksum bits.
To workaround this, rl_rxeofcplus() now shifts the rxstat word one
bit to the right before testing any of the status bits (but after
the frame length has been extracted).
Revision Changes Path
1.109 +18 -0 src/sys/pci/if_rl.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308100241.h7A2fIZ7075075>
