kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot

Marius Strobl marius at alchemy.franken.de
Tue Nov 18 14:50:04 PST 2008


The following reply was made to PR kern/128833; it has been noted by GNATS.

From: Marius Strobl <marius at alchemy.franken.de>
To: =?unknown-8bit?Q?Aur=E9lien_M=E9r=E9?= <freebsd at amc-os.com>
Cc: bug-followup at 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
 


More information about the freebsd-net mailing list