diff options
author | Li RongQing <roy.qing.li@gmail.com> | 2012-07-09 18:02:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-11 04:31:24 -0400 |
commit | 0d653ed89144828169282a654ffab26811210fd1 (patch) | |
tree | 1339359b1afe250fdbad840db4ab9f01202b9c7d | |
parent | 5b70ca3599071a0e26bceab9dd6d7e4c53318881 (diff) |
qlge: fix endian issue
commit 6d29b1ef introduces a bug, ntohs is __be16_to_cpu,
not cpu_to_be16.
We always use htons on IP_OFFSET and IP_MF, then compare
with network package.
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlge/qlge_main.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c index 31cae42498aa..3769f5711cc3 100644 --- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c +++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c | |||
@@ -1567,7 +1567,7 @@ static void ql_process_mac_rx_page(struct ql_adapter *qdev, | |||
1567 | struct iphdr *iph = | 1567 | struct iphdr *iph = |
1568 | (struct iphdr *) ((u8 *)addr + ETH_HLEN); | 1568 | (struct iphdr *) ((u8 *)addr + ETH_HLEN); |
1569 | if (!(iph->frag_off & | 1569 | if (!(iph->frag_off & |
1570 | cpu_to_be16(IP_MF|IP_OFFSET))) { | 1570 | htons(IP_MF|IP_OFFSET))) { |
1571 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1571 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1572 | netif_printk(qdev, rx_status, KERN_DEBUG, | 1572 | netif_printk(qdev, rx_status, KERN_DEBUG, |
1573 | qdev->ndev, | 1573 | qdev->ndev, |
@@ -1665,7 +1665,7 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev, | |||
1665 | /* Unfragmented ipv4 UDP frame. */ | 1665 | /* Unfragmented ipv4 UDP frame. */ |
1666 | struct iphdr *iph = (struct iphdr *) skb->data; | 1666 | struct iphdr *iph = (struct iphdr *) skb->data; |
1667 | if (!(iph->frag_off & | 1667 | if (!(iph->frag_off & |
1668 | ntohs(IP_MF|IP_OFFSET))) { | 1668 | htons(IP_MF|IP_OFFSET))) { |
1669 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1669 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1670 | netif_printk(qdev, rx_status, KERN_DEBUG, | 1670 | netif_printk(qdev, rx_status, KERN_DEBUG, |
1671 | qdev->ndev, | 1671 | qdev->ndev, |
@@ -1969,7 +1969,7 @@ static void ql_process_mac_split_rx_intr(struct ql_adapter *qdev, | |||
1969 | /* Unfragmented ipv4 UDP frame. */ | 1969 | /* Unfragmented ipv4 UDP frame. */ |
1970 | struct iphdr *iph = (struct iphdr *) skb->data; | 1970 | struct iphdr *iph = (struct iphdr *) skb->data; |
1971 | if (!(iph->frag_off & | 1971 | if (!(iph->frag_off & |
1972 | ntohs(IP_MF|IP_OFFSET))) { | 1972 | htons(IP_MF|IP_OFFSET))) { |
1973 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1973 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1974 | netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, | 1974 | netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, |
1975 | "TCP checksum done!\n"); | 1975 | "TCP checksum done!\n"); |