]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/ipv4/inet_lro.c
Merge branches 'perf-urgent-for-linus', 'x86-urgent-for-linus' and 'sched-urgent...
[karo-tx-linux.git] / net / ipv4 / inet_lro.c
index ef7ae6049a51757d4189eb29cb65942b56db328f..cc280a3f4f966bbcc00563af6531c194bbe94bde 100644 (file)
@@ -244,11 +244,11 @@ static void lro_add_frags(struct net_lro_desc *lro_desc,
        skb->truesize += truesize;
 
        skb_frags[0].page_offset += hlen;
-       skb_frags[0].size -= hlen;
+       skb_frag_size_sub(&skb_frags[0], hlen);
 
        while (tcp_data_len > 0) {
                *(lro_desc->next_frag) = *skb_frags;
-               tcp_data_len -= skb_frags->size;
+               tcp_data_len -= skb_frag_size(skb_frags);
                lro_desc->next_frag++;
                skb_frags++;
                skb_shinfo(skb)->nr_frags++;
@@ -400,14 +400,14 @@ static struct sk_buff *lro_gen_skb(struct net_lro_mgr *lro_mgr,
        skb_frags = skb_shinfo(skb)->frags;
        while (data_len > 0) {
                *skb_frags = *frags;
-               data_len -= frags->size;
+               data_len -= skb_frag_size(frags);
                skb_frags++;
                frags++;
                skb_shinfo(skb)->nr_frags++;
        }
 
        skb_shinfo(skb)->frags[0].page_offset += hdr_len;
-       skb_shinfo(skb)->frags[0].size -= hdr_len;
+       skb_frag_size_sub(&skb_shinfo(skb)->frags[0], hdr_len);
 
        skb->ip_summed = ip_summed;
        skb->csum = sum;
@@ -433,7 +433,7 @@ static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr,
        if (!lro_mgr->get_frag_header ||
            lro_mgr->get_frag_header(frags, (void *)&mac_hdr, (void *)&iph,
                                     (void *)&tcph, &flags, priv)) {
-               mac_hdr = page_address(frags->page) + frags->page_offset;
+               mac_hdr = skb_frag_address(frags);
                goto out1;
        }