[PATCH] qlge: fix endian issue

Subsystems: networking drivers, the rest

STALE5153d

4 messages, 2 authors, 2012-07-03 · open the first message on its own page

[PATCH] qlge: fix endian issue

From: <hidden>
Date: 2012-07-03 08:48:13

From: RongQing.Li <redacted>

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: RongQing.Li <redacted>
---
 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 09d8d33..7c520fa 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -1546,7 +1546,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,
@@ -1654,7 +1654,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,
@@ -1968,7 +1968,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");
-- 
1.7.1

Re: [PATCH] qlge: fix endian issue

From: David Miller <davem@davemloft.net>
Date: 2012-07-03 09:22:52

From: roy.qing.li@gmail.com
Date: Tue,  3 Jul 2012 16:47:56 +0800
Signed-off-by: RongQing.Li <redacted>
Is "RongQing.Li" really how you would write your name?

Re: [PATCH] qlge: fix endian issue

From: RongQing Li <hidden>
Date: 2012-07-03 09:44:58

2012/7/3 David Miller [off-list ref]:
From: roy.qing.li@gmail.com
Date: Tue,  3 Jul 2012 16:47:56 +0800
quoted
Signed-off-by: RongQing.Li <redacted>
Is "RongQing.Li" really how you would write your name?
Yes

Chinese name, Li RongQing

I maybe should not add the dot.

-RongQing

Re: [PATCH] qlge: fix endian issue

From: David Miller <davem@davemloft.net>
Date: 2012-07-03 09:47:44

From: RongQing Li <redacted>
Date: Tue, 3 Jul 2012 17:44:58 +0800
I maybe should not add the dot.
That's what I'm trying to say.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help