Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 373109 | Differences between
and this patch

Collapse All | Expand All

(-)a/jme.c (-6 / +14 lines)
Lines 751-770 jme_make_new_rx_buf(struct jme_adapter *jme, int i) Link Here
751
	struct jme_ring *rxring = &(jme->rxring[0]);
751
	struct jme_ring *rxring = &(jme->rxring[0]);
752
	struct jme_buffer_info *rxbi = rxring->bufinf + i;
752
	struct jme_buffer_info *rxbi = rxring->bufinf + i;
753
	struct sk_buff *skb;
753
	struct sk_buff *skb;
754
	dma_addr_t mapping;
754
755
755
	skb = netdev_alloc_skb(jme->dev,
756
	skb = netdev_alloc_skb(jme->dev,
756
		jme->dev->mtu + RX_EXTRA_LEN);
757
		jme->dev->mtu + RX_EXTRA_LEN);
757
	if (unlikely(!skb))
758
	if (unlikely(!skb))
758
		return -ENOMEM;
759
		return -ENOMEM;
759
760
761
	mapping = pci_map_page(jme->pdev, virt_to_page(skb->data),
762
			       offset_in_page(skb->data), skb_tailroom(skb),
763
			       PCI_DMA_FROMDEVICE);
764
	if (pci_dma_mapping_error(jme->pdev, mapping)) {
765
		dev_kfree_skb(skb);
766
		return -ENOMEM;
767
	}
768
769
	if (rxbi->mapping)
770
		pci_unmap_page(jme->pdev, rxbi->mapping,
771
			       rxbi->len, PCI_DMA_FROMDEVICE);
772
760
	rxbi->skb = skb;
773
	rxbi->skb = skb;
761
	rxbi->len = skb_tailroom(skb);
774
	rxbi->len = skb_tailroom(skb);
762
	rxbi->mapping = pci_map_page(jme->pdev,
775
	rxbi->mapping = mapping;
763
					virt_to_page(skb->data),
764
					offset_in_page(skb->data),
765
					rxbi->len,
766
					PCI_DMA_FROMDEVICE);
767
768
	return 0;
776
	return 0;
769
}
777
}
770
778

Return to bug 373109