On Thu, Jun 28, 2007 at 09:13:38AM +0000, Andrew Morton wrote:
> 
> With the full -mm lineup, my tg3-using powerpc g5 spits lots of these:
> 
> windfarm: Drive bay control loop started.
> audit(1183017094.732:2): audit_pid=2117 old=0 by auid=4294967295
> ------------[ cut here ]------------
> Badness at net/core/dev.c:1303

Hmm, we really should come up with a better way for checking
checksum support.

[NET]: Fix TX checksum feature check

This patch fixes a boolean error in the new TX checksum check
that causes bogus TSO packets to be generated.

Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/net/core/dev.c b/net/core/dev.c
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1509,11 +1509,11 @@ int dev_queue_xmit(struct sk_buff *skb)
                skb_set_transport_header(skb, skb->csum_start -
                                              skb_headroom(skb));
 
-               if (!(dev->features & NETIF_F_GEN_CSUM)
-                   || ((dev->features & NETIF_F_IP_CSUM)
-                       && skb->protocol == htons(ETH_P_IP))
-                   || ((dev->features & NETIF_F_IPV6_CSUM)
-                       && skb->protocol == htons(ETH_P_IPV6)))
+               if (!(dev->features & NETIF_F_GEN_CSUM) &&
+                   !((dev->features & NETIF_F_IP_CSUM) &&
+                     skb->protocol == htons(ETH_P_IP)) &&
+                   !((dev->features & NETIF_F_IPV6_CSUM) &&
+                     skb->protocol == htons(ETH_P_IPV6)))
                        if (skb_checksum_help(skb))
                                goto out_kfree_skb;
        }
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to