diff options
author | Ian Campbell <Ian.Campbell@citrix.com> | 2011-08-24 18:28:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-26 12:38:42 -0400 |
commit | 5581be3b48914b0f9126b14daa02d334928322b0 (patch) | |
tree | 209a32b5a8bc19a28a188bb4b48ec5a695a664e0 /drivers/infiniband | |
parent | cf383ebb1300e910377c124e8eb582c6bc27d2b6 (diff) |
IPoIB: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_cm.c | 5 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_ib.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 39913a065f99..67a477be237e 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c | |||
@@ -169,7 +169,7 @@ static struct sk_buff *ipoib_cm_alloc_rx_skb(struct net_device *dev, | |||
169 | goto partial_error; | 169 | goto partial_error; |
170 | skb_fill_page_desc(skb, i, page, 0, PAGE_SIZE); | 170 | skb_fill_page_desc(skb, i, page, 0, PAGE_SIZE); |
171 | 171 | ||
172 | mapping[i + 1] = ib_dma_map_page(priv->ca, skb_shinfo(skb)->frags[i].page, | 172 | mapping[i + 1] = ib_dma_map_page(priv->ca, page, |
173 | 0, PAGE_SIZE, DMA_FROM_DEVICE); | 173 | 0, PAGE_SIZE, DMA_FROM_DEVICE); |
174 | if (unlikely(ib_dma_mapping_error(priv->ca, mapping[i + 1]))) | 174 | if (unlikely(ib_dma_mapping_error(priv->ca, mapping[i + 1]))) |
175 | goto partial_error; | 175 | goto partial_error; |
@@ -537,7 +537,8 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space, | |||
537 | 537 | ||
538 | if (length == 0) { | 538 | if (length == 0) { |
539 | /* don't need this page */ | 539 | /* don't need this page */ |
540 | skb_fill_page_desc(toskb, i, frag->page, 0, PAGE_SIZE); | 540 | skb_fill_page_desc(toskb, i, skb_frag_page(frag), |
541 | 0, PAGE_SIZE); | ||
541 | --skb_shinfo(skb)->nr_frags; | 542 | --skb_shinfo(skb)->nr_frags; |
542 | } else { | 543 | } else { |
543 | size = min(length, (unsigned) PAGE_SIZE); | 544 | size = min(length, (unsigned) PAGE_SIZE); |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index 81ae61d68a22..00435be4a44b 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c | |||
@@ -182,7 +182,7 @@ static struct sk_buff *ipoib_alloc_rx_skb(struct net_device *dev, int id) | |||
182 | goto partial_error; | 182 | goto partial_error; |
183 | skb_fill_page_desc(skb, 0, page, 0, PAGE_SIZE); | 183 | skb_fill_page_desc(skb, 0, page, 0, PAGE_SIZE); |
184 | mapping[1] = | 184 | mapping[1] = |
185 | ib_dma_map_page(priv->ca, skb_shinfo(skb)->frags[0].page, | 185 | ib_dma_map_page(priv->ca, page, |
186 | 0, PAGE_SIZE, DMA_FROM_DEVICE); | 186 | 0, PAGE_SIZE, DMA_FROM_DEVICE); |
187 | if (unlikely(ib_dma_mapping_error(priv->ca, mapping[1]))) | 187 | if (unlikely(ib_dma_mapping_error(priv->ca, mapping[1]))) |
188 | goto partial_error; | 188 | goto partial_error; |
@@ -323,7 +323,8 @@ static int ipoib_dma_map_tx(struct ib_device *ca, | |||
323 | 323 | ||
324 | for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) { | 324 | for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) { |
325 | skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; | 325 | skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; |
326 | mapping[i + off] = ib_dma_map_page(ca, frag->page, | 326 | mapping[i + off] = ib_dma_map_page(ca, |
327 | skb_frag_page(frag), | ||
327 | frag->page_offset, frag->size, | 328 | frag->page_offset, frag->size, |
328 | DMA_TO_DEVICE); | 329 | DMA_TO_DEVICE); |
329 | if (unlikely(ib_dma_mapping_error(ca, mapping[i + off]))) | 330 | if (unlikely(ib_dma_mapping_error(ca, mapping[i + off]))) |