Date: Mon, 24 Jun 2002 15:04:15 -0700 (PDT) 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: <200206242204.g5OM4FW22108@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jdp 2002/06/24 15:04:15 PDT
Modified files:
sys/dev/bge if_bge.c if_bgereg.h
Log:
Work around what appears to be a chip bug in the BCM5701 that shows
up when operating in PCI-X mode. For some received packets there is
data corruption in the first few bytes in that case. Aligning the
packet buffer eliminates the corruption. With this fix, the code
that offsets the packet buffer up by 2 bytes to align the payload is
disabled for BCM5701s operating in PCI-X mode. On the i386, which
permits unaligned accesses, the payload is left unaligned. On other
platforms, the packet is copied after reception to force alignment
of the payload. Obviously, this work-around reduces performance in
those cases (BCM5701 plus PCI-X) where it is in effect.
MFC after: 3 days
Revision Changes Path
1.14 +36 -2 src/sys/dev/bge/if_bge.c
1.5 +1 -0 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?200206242204.g5OM4FW22108>
