diff options
author | Dale Farnsworth <dale@farnsworth.org> | 2006-09-13 12:21:08 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-09-13 12:26:03 -0400 |
commit | 71d28725548be203e8b8f6ad63b1f64fd7f02d4d (patch) | |
tree | 7246cf38c4c4b392b7c167026c1967c8ca45ddbc /drivers/net | |
parent | eff68d452f1a6842fb05218fd93c774ffc4dbc5a (diff) |
[PATCH] mv643xx_eth: Unmap DMA buffers in receive path
Fix a missing call to dma_unmap_single() in the receive path. Without
this call, errors have been observed on non-cache-coherent systems.
Signed-off-by Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/mv643xx_eth.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 760c61b98867..eeab1df5bef3 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -385,6 +385,8 @@ static int mv643xx_eth_receive_queue(struct net_device *dev, int budget) | |||
385 | struct pkt_info pkt_info; | 385 | struct pkt_info pkt_info; |
386 | 386 | ||
387 | while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) { | 387 | while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) { |
388 | dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE, | ||
389 | DMA_FROM_DEVICE); | ||
388 | mp->rx_desc_count--; | 390 | mp->rx_desc_count--; |
389 | received_packets++; | 391 | received_packets++; |
390 | 392 | ||