From owner-freebsd-net@FreeBSD.ORG Tue Nov 18 22:50:04 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C06BC1065670 for ; Tue, 18 Nov 2008 22:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id AB9378FC19 for ; Tue, 18 Nov 2008 22:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id mAIMo4rO028172 for ; Tue, 18 Nov 2008 22:50:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id mAIMo4gb028171; Tue, 18 Nov 2008 22:50:04 GMT (envelope-from gnats) Date: Tue, 18 Nov 2008 22:50:04 GMT Message-Id: <200811182250.mAIMo4gb028171@freefall.freebsd.org> To: freebsd-net@FreeBSD.org From: Marius Strobl Cc: Subject: Re: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marius Strobl List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Nov 2008 22:50:04 -0000 The following reply was made to PR kern/128833; it has been noted by GNATS. From: Marius Strobl To: =?unknown-8bit?Q?Aur=E9lien_M=E9r=E9?= Cc: bug-followup@FreeBSD.org Subject: Re: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot Date: Tue, 18 Nov 2008 23:46:21 +0100 On Mon, Nov 17, 2008 at 02:37:51AM +0100, Aurlien Mr wrote: > Hi > As first check, when device is being attached, here are the values reported > and the diff : > > in 32 bit slot : > BGE_PCI_PCISTATE = 0x96 (0x86 | BGE_PCISTATE_32BIT_BUS) > bge_flags = 0x120E (0x100E | BGE_FLAG_PCIX) > > in 64 bit slot : > BGE_PCI_PCISTATE = 0x8E (0x86 | BGE_PCISTATE_PCI_BUSSPEED) > bge_flags = 0x1A0E (0x100E | BGE_FLAG_PCIX | BGE_FLAG_64BIT) > > Seems logical so far, I'll try to look further. Apart from the problem described by davidch@ (I'm not sure you actually have a BCM5701 A3 though, at least bge(4) doesn't seem to be aware of that revision) the BGE_PCI_PCISTATE and bge_flags pairs you reported don't match though; according to BGE_PCI_PCISTATE the card isn't in a PCI-X slot in either case (BGE_PCISTATE_PCI_BUSMODE is always set, which means PCI) and AFAICT your motherboard chipset also doesn't support PCI-X. However, as you noted BGE_FLAG_PCIX is set for whatever reason in both cases, which leads to some inappropriate initialization of the controller. As a quick test could you please check whether replacing the "#if __FreeBSD_version > 602101" in the driver with an "#if 0" makes any difference to your problem? Marius