|
@@ -1328,7 +1328,7 @@ static struct sk_buff *udp6_ufo_fragment(struct sk_buff *skb, u32 features)
|
|
/* Do software UFO. Complete and fill in the UDP checksum as HW cannot
|
|
/* Do software UFO. Complete and fill in the UDP checksum as HW cannot
|
|
* do checksum of UDP packets sent as multiple IP fragments.
|
|
* do checksum of UDP packets sent as multiple IP fragments.
|
|
*/
|
|
*/
|
|
- offset = skb->csum_start - skb_headroom(skb);
|
|
|
|
|
|
+ offset = skb_checksum_start_offset(skb);
|
|
csum = skb_checksum(skb, offset, skb->len- offset, 0);
|
|
csum = skb_checksum(skb, offset, skb->len- offset, 0);
|
|
offset += skb->csum_offset;
|
|
offset += skb->csum_offset;
|
|
*(__sum16 *)(skb->data + offset) = csum_fold(csum);
|
|
*(__sum16 *)(skb->data + offset) = csum_fold(csum);
|