Date: Tue, 18 Nov 2008 18:01:10 -0500 From: Brad <brad@comstyle.com> To: freebsd-net@freebsd.org, Marius Strobl <marius@alchemy.franken.de> Subject: Re: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot Message-ID: <200811181801.10997.brad@comstyle.com> In-Reply-To: <200811182250.mAIMo4gb028171@freefall.freebsd.org> References: <200811182250.mAIMo4gb028171@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 November 2008 17:50:04 Marius Strobl wrote: > The following reply was made to PR kern/128833; it has been noted by GNATS. > > From: Marius Strobl <marius@alchemy.franken.de> > To: =?unknown-8bit?Q?Aur=E9lien_M=E9r=E9?= <freebsd@amc-os.com> > 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? The PCI-X check which is used for I'm guessing FreeBSD 7 and newer is wrong. Older versions get it right. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811181801.10997.brad>