From owner-cvs-all Mon Jun 24 15: 4:48 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id C83D537B406; Mon, 24 Jun 2002 15:04:15 -0700 (PDT) Received: (from jdp@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g5OM4FW22108; Mon, 24 Jun 2002 15:04:15 -0700 (PDT) (envelope-from jdp) Message-Id: <200206242204.g5OM4FW22108@freefall.freebsd.org> From: John Polstra Date: Mon, 24 Jun 2002 15:04:15 -0700 (PDT) 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 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