Loading drivers/net/jme.c +14 −6 Original line number Diff line number Diff line Loading @@ -751,20 +751,28 @@ jme_make_new_rx_buf(struct jme_adapter *jme, int i) struct jme_ring *rxring = &(jme->rxring[0]); struct jme_buffer_info *rxbi = rxring->bufinf + i; struct sk_buff *skb; dma_addr_t mapping; skb = netdev_alloc_skb(jme->dev, jme->dev->mtu + RX_EXTRA_LEN); if (unlikely(!skb)) return -ENOMEM; rxbi->skb = skb; rxbi->len = skb_tailroom(skb); rxbi->mapping = pci_map_page(jme->pdev, virt_to_page(skb->data), offset_in_page(skb->data), rxbi->len, mapping = pci_map_page(jme->pdev, virt_to_page(skb->data), offset_in_page(skb->data), skb_tailroom(skb), PCI_DMA_FROMDEVICE); if (unlikely(pci_dma_mapping_error(jme->pdev, mapping))) { dev_kfree_skb(skb); return -ENOMEM; } if (likely(rxbi->mapping)) pci_unmap_page(jme->pdev, rxbi->mapping, rxbi->len, PCI_DMA_FROMDEVICE); rxbi->skb = skb; rxbi->len = skb_tailroom(skb); rxbi->mapping = mapping; return 0; } Loading Loading
drivers/net/jme.c +14 −6 Original line number Diff line number Diff line Loading @@ -751,20 +751,28 @@ jme_make_new_rx_buf(struct jme_adapter *jme, int i) struct jme_ring *rxring = &(jme->rxring[0]); struct jme_buffer_info *rxbi = rxring->bufinf + i; struct sk_buff *skb; dma_addr_t mapping; skb = netdev_alloc_skb(jme->dev, jme->dev->mtu + RX_EXTRA_LEN); if (unlikely(!skb)) return -ENOMEM; rxbi->skb = skb; rxbi->len = skb_tailroom(skb); rxbi->mapping = pci_map_page(jme->pdev, virt_to_page(skb->data), offset_in_page(skb->data), rxbi->len, mapping = pci_map_page(jme->pdev, virt_to_page(skb->data), offset_in_page(skb->data), skb_tailroom(skb), PCI_DMA_FROMDEVICE); if (unlikely(pci_dma_mapping_error(jme->pdev, mapping))) { dev_kfree_skb(skb); return -ENOMEM; } if (likely(rxbi->mapping)) pci_unmap_page(jme->pdev, rxbi->mapping, rxbi->len, PCI_DMA_FROMDEVICE); rxbi->skb = skb; rxbi->len = skb_tailroom(skb); rxbi->mapping = mapping; return 0; } Loading