mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
tulip: Properly check dma mapping result
Tulip throws an error when dma debugging is enabled, as it doesn't properly check dma mapping results with dma_mapping_error() durring tx ring refills. Easy fix, just add it in, and drop the frame if the mapping is bad Signed-off-by: Neil Horman <nhorman@tuxdriver.com> CC: Grant Grundler <grundler@parisc-linux.org> CC: "David S. Miller" <davem@davemloft.net> Reviewed-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dd01989735
commit
c9bfbb31af
@ -76,6 +76,12 @@ int tulip_refill_rx(struct net_device *dev)
|
||||
|
||||
mapping = pci_map_single(tp->pdev, skb->data, PKT_BUF_SZ,
|
||||
PCI_DMA_FROMDEVICE);
|
||||
if (dma_mapping_error(&tp->pdev->dev, mapping)) {
|
||||
dev_kfree_skb(skb);
|
||||
tp->rx_buffers[entry].skb = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
tp->rx_buffers[entry].mapping = mapping;
|
||||
|
||||
tp->rx_ring[entry].buffer1 = cpu_to_le32(mapping);
|
||||
|
Loading…
Reference in New Issue
Block a user