Re: TG3 network data corruption regression 2.6.24/2.6.23.4

From: Michael Chan
Date: Wed Apr 16 2008 - 11:41:08 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/