be2net: Fix Endian
authorLi RongQing <roy.qing.li@gmail.com>
Wed, 4 Jul 2012 16:05:42 +0000 (16:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Jul 2012 07:14:16 +0000 (00:14 -0700)
ETH_P_IP is host Endian, skb->protocol is big Endian, when
compare them, we should change ETH_P_IP from host endian
to big endian, htons, not ntohs.

CC: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Acked-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h

index 7a71fb66c6dc8ea625cb15966cc8f203b1e91b7d..0490a04ca0b936b96110bf679338eca596c00593 100644 (file)
@@ -575,7 +575,7 @@ static inline u8 is_udp_pkt(struct sk_buff *skb)
 
 static inline bool is_ipv4_pkt(struct sk_buff *skb)
 {
-       return skb->protocol == ntohs(ETH_P_IP) && ip_hdr(skb)->version == 4;
+       return skb->protocol == htons(ETH_P_IP) && ip_hdr(skb)->version == 4;
 }
 
 static inline void be_vf_eth_addr_generate(struct be_adapter *adapter, u8 *mac)