ehea: Access iph->tot_len with correct endianness
authorRoland Dreier <rdreier@cisco.com>
Tue, 1 Jul 2008 17:20:33 +0000 (10:20 -0700)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 4 Jul 2008 12:15:28 +0000 (08:15 -0400)
iph->tot_len is stored in network byte order, so access it using
ntohs().  This doesn't have any real world impact on ehea, since ehea
only exists for big-endian platfroms (at the moment at least) but fixing
this gets rid of a sparse warning and avoids having a bad example in the
tree.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/ehea/ehea_main.c

index 49ba6a9a7b06116e4fea8adf02108cd7a07986c4..0920b796bd78375b17c679861a30e50338c9c3c7 100644 (file)
@@ -623,7 +623,7 @@ static int get_skb_hdr(struct sk_buff *skb, void **iphdr,
        *tcph = tcp_hdr(skb);
 
        /* check if ip header and tcp header are complete */
-       if (iph->tot_len < ip_len + tcp_hdrlen(skb))
+       if (ntohs(iph->tot_len) < ip_len + tcp_hdrlen(skb))
                return -1;
 
        *hdr_flags = LRO_IPV4 | LRO_TCP;