|
@@ -1226,10 +1226,9 @@ static int sky2_rx_map_skb(struct pci_dev *pdev, struct rx_ring_info *re,
|
|
|
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
|
|
|
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
|
|
|
|
|
|
- re->frag_addr[i] = pci_map_page(pdev, frag->page,
|
|
|
- frag->page_offset,
|
|
|
- frag->size,
|
|
|
- PCI_DMA_FROMDEVICE);
|
|
|
+ re->frag_addr[i] = skb_frag_dma_map(&pdev->dev, frag, 0,
|
|
|
+ frag->size,
|
|
|
+ PCI_DMA_FROMDEVICE);
|
|
|
|
|
|
if (pci_dma_mapping_error(pdev, re->frag_addr[i]))
|
|
|
goto map_page_error;
|
|
@@ -1910,8 +1909,8 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
|
|
|
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
|
|
|
const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
|
|
|
|
|
|
- mapping = pci_map_page(hw->pdev, frag->page, frag->page_offset,
|
|
|
- frag->size, PCI_DMA_TODEVICE);
|
|
|
+ mapping = skb_frag_dma_map(&hw->pdev->dev, frag, 0,
|
|
|
+ frag->size, PCI_DMA_TODEVICE);
|
|
|
|
|
|
if (pci_dma_mapping_error(hw->pdev, mapping))
|
|
|
goto mapping_unwind;
|
|
@@ -2449,7 +2448,7 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space,
|
|
|
|
|
|
if (length == 0) {
|
|
|
/* don't need this page */
|
|
|
- __free_page(frag->page);
|
|
|
+ __skb_frag_unref(frag);
|
|
|
--skb_shinfo(skb)->nr_frags;
|
|
|
} else {
|
|
|
size = min(length, (unsigned) PAGE_SIZE);
|