summaryrefslogtreecommitdiff
path: root/net/rmnet_data
diff options
context:
space:
mode:
authorSivan Reinstein <sivanr@codeaurora.org>2015-03-11 10:31:31 +0200
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:05:30 -0700
commite3ad14a08a50bc4abf0f3a3d17d53c35399f4a4b (patch)
treea0f45b51cbc5e579f7489b7407a260364b39c4ca /net/rmnet_data
parentd15da0c4e8ecbb054b54106332586112ccf9d0c6 (diff)
net: rmnet_data: fix UL checksum header format
MAPv3 UL checksum header requires that the CHECKSUM_INSERT_OFFSET will be relative to CHECKSUM_START_OFFSET. CRs-fixed: 806129 Change-Id: I1f8363e90588dfbd3ac4f9f35defd6259406d8b5 Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Diffstat (limited to 'net/rmnet_data')
-rw-r--r--net/rmnet_data/rmnet_map_data.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/net/rmnet_data/rmnet_map_data.c b/net/rmnet_data/rmnet_map_data.c
index 4691ee5ed805..27e32c13fe39 100644
--- a/net/rmnet_data/rmnet_map_data.c
+++ b/net/rmnet_data/rmnet_map_data.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -621,8 +621,7 @@ static void rmnet_map_fill_ipv4_packet_ul_checksum_header(void *iphdr,
ul_header->checksum_start_offset = htons((unsigned short)
(skb_transport_header(skb) - (unsigned char *)iphdr));
- ul_header->checksum_insert_offset = skb->csum_offset + (unsigned short)
- (skb_transport_header(skb) - (unsigned char *)iphdr);
+ ul_header->checksum_insert_offset = skb->csum_offset;
ul_header->cks_en = 1;
if (ip4h->protocol == IPPROTO_UDP)
ul_header->udp_ip4_ind = 1;
@@ -641,8 +640,7 @@ static void rmnet_map_fill_ipv6_packet_ul_checksum_header(void *iphdr,
ul_header->checksum_start_offset = htons((unsigned short)
(skb_transport_header(skb) - (unsigned char *)iphdr));
- ul_header->checksum_insert_offset = skb->csum_offset + (unsigned short)
- (skb_transport_header(skb) - (unsigned char *)iphdr);
+ ul_header->checksum_insert_offset = skb->csum_offset;
ul_header->cks_en = 1;
ul_header->udp_ip4_ind = 0;
/* Changing checksum_insert_offset to network order */