benet: convert to SKB paged frag API.
authorIan Campbell <Ian.Campbell@citrix.com>
Mon, 29 Aug 2011 23:18:23 +0000 (23:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Aug 2011 21:58:00 +0000 (17:58 -0400)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_main.c

index 3d55b4767ae4fb2947854c260c72caff3acb27fa..2b7d1ba1e13bd473ac524db93d616b230146bcbe 100644 (file)
@@ -638,8 +638,8 @@ static int make_tx_wrbs(struct be_adapter *adapter, struct be_queue_info *txq,
        for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
                struct skb_frag_struct *frag =
                        &skb_shinfo(skb)->frags[i];
-               busaddr = dma_map_page(dev, frag->page, frag->page_offset,
-                                      frag->size, DMA_TO_DEVICE);
+               busaddr = skb_frag_dma_map(dev, frag, 0,
+                                          frag->size, DMA_TO_DEVICE);
                if (dma_mapping_error(dev, busaddr))
                        goto dma_err;
                wrb = queue_head_node(txq);
@@ -1066,7 +1066,7 @@ static void skb_fill_rx_data(struct be_adapter *adapter, struct be_rx_obj *rxo,
                skb->tail += curr_frag_len;
        } else {
                skb_shinfo(skb)->nr_frags = 1;
-               skb_shinfo(skb)->frags[0].page = page_info->page;
+               skb_frag_set_page(skb, 0, page_info->page);
                skb_shinfo(skb)->frags[0].page_offset =
                                        page_info->page_offset + hdr_len;
                skb_shinfo(skb)->frags[0].size = curr_frag_len - hdr_len;
@@ -1091,7 +1091,7 @@ static void skb_fill_rx_data(struct be_adapter *adapter, struct be_rx_obj *rxo,
                if (page_info->page_offset == 0) {
                        /* Fresh page */
                        j++;
-                       skb_shinfo(skb)->frags[j].page = page_info->page;
+                       skb_frag_set_page(skb, j, page_info->page);
                        skb_shinfo(skb)->frags[j].page_offset =
                                                        page_info->page_offset;
                        skb_shinfo(skb)->frags[j].size = 0;
@@ -1173,7 +1173,7 @@ static void be_rx_compl_process_gro(struct be_adapter *adapter,
                if (i == 0 || page_info->page_offset == 0) {
                        /* First frag or Fresh page */
                        j++;
-                       skb_shinfo(skb)->frags[j].page = page_info->page;
+                       skb_frag_set_page(skb, j, page_info->page);
                        skb_shinfo(skb)->frags[j].page_offset =
                                                        page_info->page_offset;
                        skb_shinfo(skb)->frags[j].size = 0;