Messages in this thread Patch in this message | | | Date | Wed, 20 Feb 2008 18:04:09 -0500 | From | Tony Battersby <> | Subject | Re: TG3 network data corruption regression 2.6.24/2.6.23.4 |
| |
The following patch fixes the problem for me. Do we want to accept this patch and call it a day or continue investigating the source of the problem?
Patch applies to 2.6.24.2, but doesn't apply to 2.6.25-rc. If everyone agrees that this is the right solution, I will resubmit with a proper subject line and description.
Tony
--- linux-2.6.24.2/include/net/sock.h.orig 2008-02-20 17:19:20.000000000 -0500 +++ linux-2.6.24.2/include/net/sock.h 2008-02-20 17:25:55.000000000 -0500 @@ -1236,8 +1236,10 @@ static inline struct sk_buff *sk_stream_ { struct sk_buff *skb; - /* The TCP header must be at least 32-bit aligned. */ - size = ALIGN(size, 4); + /* The TCP header must be at least 32-bit aligned, but some chipsets + * such as Broadcom BCM5701 require at least 16-byte alignment. + */ + size = ALIGN(size, 16); skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); if (skb) {
| |