kern/128833: [bge] Network packets corrupted when bge card
is in 64-bit PCI slot
David Christensen
davidch at broadcom.com
Mon Nov 24 14:40:04 PST 2008
The following reply was made to PR kern/128833; it has been noted by GNATS.
From: "David Christensen" <davidch at broadcom.com>
To: "Marius Strobl" <marius at alchemy.franken.de>
Cc: "bug-followup at FreeBSD.org" <bug-followup at FreeBSD.org>
Subject: RE: kern/128833: [bge] Network packets corrupted when bge card
is in 64-bit PCI slot
Date: Mon, 24 Nov 2008 14:38:35 -0800
> > > How does the problem you describe relate to the
> > > 5701 PCI-X issue, which we align the RX buffer differently
> > > for as a workaround, would that problem also be avoided
> > > by limiting 5701 to 32-bit operations? Or is the A3-errata
> > > you described an entirely different issue and limited to 5701
> > > in a 64-bit non-PCI-X slot, or would 5701 in a PCI-X slot
> > > even require both workarounds?
> >
> > Which PCI-X issue are you referring to? Can you point me to
> > the line number on http://fxr.watson.org/fxr/source/dev/bge/if_bge.c?
> >
>=20
> I was refering to BGE_FLAG_RX_ALIGNBUG, the lines dealing with it
> are 874-875, 933-934, 2698-2708 and 3112-3122. The Linux tg3
> driver does pretty much the same via rx_offset.
It's a different problem. The RX_ALIGNBUG is described in the errata
as follows:
"Description: In PCI-X mode, on rare instances, the DMA write engine=20
can incorrectly DMA duplicate data to the host if the first word of=20
the data being transferred is to a non-zero-offset address (offset=20
from the 8-byte boundary).
Workaround: Align buffers to zero offset in the driver."
I suppose you could force PCI mode for this problem too though at
the expense of possible reduced performance.
Dave
More information about the freebsd-net
mailing list