mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
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>
This commit is contained in:
parent
5b70ca3599
commit
0d653ed891
@ -1567,7 +1567,7 @@ static void ql_process_mac_rx_page(struct ql_adapter *qdev,
|
||||
struct iphdr *iph =
|
||||
(struct iphdr *) ((u8 *)addr + ETH_HLEN);
|
||||
if (!(iph->frag_off &
|
||||
cpu_to_be16(IP_MF|IP_OFFSET))) {
|
||||
htons(IP_MF|IP_OFFSET))) {
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
netif_printk(qdev, rx_status, KERN_DEBUG,
|
||||
qdev->ndev,
|
||||
@ -1665,7 +1665,7 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev,
|
||||
/* Unfragmented ipv4 UDP frame. */
|
||||
struct iphdr *iph = (struct iphdr *) skb->data;
|
||||
if (!(iph->frag_off &
|
||||
ntohs(IP_MF|IP_OFFSET))) {
|
||||
htons(IP_MF|IP_OFFSET))) {
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
netif_printk(qdev, rx_status, KERN_DEBUG,
|
||||
qdev->ndev,
|
||||
@ -1969,7 +1969,7 @@ static void ql_process_mac_split_rx_intr(struct ql_adapter *qdev,
|
||||
/* Unfragmented ipv4 UDP frame. */
|
||||
struct iphdr *iph = (struct iphdr *) skb->data;
|
||||
if (!(iph->frag_off &
|
||||
ntohs(IP_MF|IP_OFFSET))) {
|
||||
htons(IP_MF|IP_OFFSET))) {
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev,
|
||||
"TCP checksum done!\n");
|
||||
|
Loading…
Reference in New Issue
Block a user