]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
RDMA/nes: Fix for crash when TX checksum offload is off
authorTatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Thu, 20 Sep 2012 20:55:33 +0000 (20:55 +0000)
committerRoland Dreier <roland@purestorage.com>
Sat, 22 Sep 2012 09:11:43 +0000 (02:11 -0700)
When TX checksum offload is disabled for an iWarp connection,
skb->ip_summed needs to be set to CHECKSUM_NONE.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/nes/nes_cm.c

index 49a9383137db9ad3abf83ca34c4fa0339b46d2b9..cfaacaf6bf5f9c8e11ce0bb5c0dce62c54e15ae4 100644 (file)
@@ -430,6 +430,8 @@ static void form_cm_frame(struct sk_buff *skb,
        buf += sizeof(*tcph);
 
        skb->ip_summed = CHECKSUM_PARTIAL;
+       if (!(cm_node->netdev->features & NETIF_F_IP_CSUM))
+               skb->ip_summed = CHECKSUM_NONE;
        skb->protocol = htons(0x800);
        skb->data_len = 0;
        skb->mac_len = ETH_HLEN;