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

Marius Strobl marius at alchemy.franken.de
Sun Nov 23 07:40: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: David Christensen <davidch at broadcom.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: Sun, 23 Nov 2008 16:34:59 +0100

 On Mon, Nov 17, 2008 at 11:37:19AM -0800, David Christensen wrote:
 > >  Ok, thanks for testing anyway.
 > >  I still think that this isn't really a driver bug though but
 > >  you are hitting some hardware-related problem like f.e. a
 > >  silicon bug and the question is how to work around it.
 > 
 > There is a documented errata for the 5701 A3 where a 64bit DMA
 > read can be terminated early by the bridge and then completed 
 > later as a 32bit access, causing corruption on the 5701. The 
 > errata states this type of behavior is rare in bridges and that
 > the workaround is to force 32bit operation (set bit 15 of register
 > 0x6800).  It's not clear whether this errata is occurring without
 > seeing a but trace but it certainly sounds right.  The only 
 > question would be knowing "when" to force 32bit operation.  Should
 > it be done in all cases or only for this bridge?
 > 
 
 David,
 
 could it be that bug doesn't only affect 5701 A3 but also
 B3 (i.e. chipid 0x01050000) as in this case or even all 5701
 revisions? 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?
 
 Marius
 


More information about the freebsd-net mailing list