ehea: convert to SKB paged frag API
authorIan Campbell <Ian.Campbell@citrix.com>
Mon, 10 Oct 2011 01:11:38 +0000 (01:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Oct 2011 19:19:13 +0000 (15:19 -0400)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ehea/ehea_main.c

index c821cb653999ff9a55b54ad93e23b825d0bcfc81..dfefe809c4858acbbb60828aa673640b5ae09f3e 100644 (file)
@@ -1817,8 +1817,7 @@ static inline void write_swqe2_data(struct sk_buff *skb, struct net_device *dev,
                        sg1entry->l_key = lkey;
                        sg1entry->len = frag->size;
                        sg1entry->vaddr =
-                               ehea_map_vaddr(page_address(frag->page)
-                                              + frag->page_offset);
+                               ehea_map_vaddr(skb_frag_address(frag));
                        swqe->descriptors++;
                        sg1entry_contains_frag_data = 1;
                }
@@ -1830,9 +1829,7 @@ static inline void write_swqe2_data(struct sk_buff *skb, struct net_device *dev,
 
                        sgentry->l_key = lkey;
                        sgentry->len = frag->size;
-                       sgentry->vaddr =
-                               ehea_map_vaddr(page_address(frag->page)
-                                              + frag->page_offset);
+                       sgentry->vaddr = ehea_map_vaddr(skb_frag_address(frag));
                        swqe->descriptors++;
                }
        }
@@ -2222,9 +2219,7 @@ static void ehea_xmit3(struct sk_buff *skb, struct net_device *dev,
                /* ... then copy data from the fragments */
                for (i = 0; i < nfrags; i++) {
                        frag = &skb_shinfo(skb)->frags[i];
-                       memcpy(imm_data,
-                              page_address(frag->page) + frag->page_offset,
-                              frag->size);
+                       memcpy(imm_data, skb_frag_address(frag), frag->size);
                        imm_data += frag->size;
                }
        }