Skip to content

Commit

Permalink
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/…
Browse files Browse the repository at this point in the history
…davem/net-2.6
  • Loading branch information
David S. Miller committed Jul 22, 2011
2 parents 557e2a3 + 94c5b41 commit e627539
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions drivers/net/jme.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

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 = pci_map_page(jme->pdev,
virt_to_page(skb->data),
offset_in_page(skb->data),
rxbi->len,
PCI_DMA_FROMDEVICE);

rxbi->mapping = mapping;
return 0;
}

Expand Down

0 comments on commit e627539

Please sign in to comment.