Messages in this thread | | | Date | Wed, 16 Apr 2008 17:00:41 -0400 | From | Tony Battersby <> | Subject | Re: TG3 network data corruption regression 2.6.24/2.6.23.4 |
| |
Matt Carlson wrote: > On Wed, Apr 16, 2008 at 08:40:25AM -0700, Michael Chan wrote: > >> David Miller wrote: >> >> >>> Matt, skb->mac_header is either a pointer or an integer offset >>> depending upon whether we are building 32-bit or 64-bit. >>> >>> Testing skb->mac_header is therefore wrong, because it's an >>> offset from a pointer in the 64-bit case and therefore it's >>> alignment does not indicate correctly the actual final alignment >>> of skb->head + skb->max_header. >>> >>> Therefore you should test skb_mac_header(skb) and cast it with >>> (unsigned long). >>> >> Isn't it better to test for skb->data? That's where we tell >> the hardware to start transmitting. >> >> >>> Please respin this fix with that correction so I can apply it >>> and get this bug fixed, thanks! >>> >>> >>> >> We think that this problem is unique in Tony's environment because >> of the PCIE-to-PCI bridge that he is using. We therefore want to >> test for that bridge and apply the workaround only when it's present. >> We've never seen this problem in the last 6 or 7 years during the >> lifetime of the 5701. >> >> We'll try to get this done ASAP. >> >> Thanks. >> > > Tony, > > Below is a patch that attempts to limit the workaround to the bridge you > have on your system. Can you test it and verify that the workaround is > still enabled? > > >
This new patch also passes the test. Thumbs up!
Tested-by: Tony Battersby <tonyb@cybernetics.com>
Tony
| |