aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qlge
diff options
context:
space:
mode:
authorJitendra Kalsaria <jitendra.kalsaria@qlogic.com>2012-02-03 09:06:49 -0500
committerDavid S. Miller <davem@davemloft.net>2012-02-04 15:59:30 -0500
commite02ef3311ae7329335d7c2b954b3988f7628a109 (patch)
treeee2a98a8b2e453c3aa16f3d55cc2986f13325d94 /drivers/net/ethernet/qlogic/qlge
parent97bf2262e7f8177706ecdac897be165c0b455c6f (diff)
qlge: Fixed invalid reference to ip header
we have copied skb into addr(page), skb->data doesn't contain ip header information. Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlge')
-rw-r--r--drivers/net/ethernet/qlogic/qlge/qlge_main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index b54898737284..582b23746876 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -1576,13 +1576,14 @@ static void ql_process_mac_rx_page(struct ql_adapter *qdev,
1576 } else if ((ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_U) && 1576 } else if ((ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_U) &&
1577 (ib_mac_rsp->flags3 & IB_MAC_IOCB_RSP_V4)) { 1577 (ib_mac_rsp->flags3 & IB_MAC_IOCB_RSP_V4)) {
1578 /* Unfragmented ipv4 UDP frame. */ 1578 /* Unfragmented ipv4 UDP frame. */
1579 struct iphdr *iph = (struct iphdr *) skb->data; 1579 struct iphdr *iph =
1580 (struct iphdr *) ((u8 *)addr + ETH_HLEN);
1580 if (!(iph->frag_off & 1581 if (!(iph->frag_off &
1581 cpu_to_be16(IP_MF|IP_OFFSET))) { 1582 cpu_to_be16(IP_MF|IP_OFFSET))) {
1582 skb->ip_summed = CHECKSUM_UNNECESSARY; 1583 skb->ip_summed = CHECKSUM_UNNECESSARY;
1583 netif_printk(qdev, rx_status, KERN_DEBUG, 1584 netif_printk(qdev, rx_status, KERN_DEBUG,
1584 qdev->ndev, 1585 qdev->ndev,
1585 "TCP checksum done!\n"); 1586 "UDP checksum done!\n");
1586 } 1587 }
1587 } 1588 }
1588 } 1589 }
@@ -1690,7 +1691,7 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev,
1690 skb->ip_summed = CHECKSUM_UNNECESSARY; 1691 skb->ip_summed = CHECKSUM_UNNECESSARY;
1691 netif_printk(qdev, rx_status, KERN_DEBUG, 1692 netif_printk(qdev, rx_status, KERN_DEBUG,
1692 qdev->ndev, 1693 qdev->ndev,
1693 "TCP checksum done!\n"); 1694 "UDP checksum done!\n");
1694 } 1695 }
1695 } 1696 }
1696 } 1697 }