aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_cm.c5
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ib.c5
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])))