[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>
This commit is contained in:
committed by
Jeff Garzik
parent
eff68d452f
commit
71d2872554
@@ -385,6 +385,8 @@ static int mv643xx_eth_receive_queue(struct net_device *dev, int budget)
|
|||||||
struct pkt_info pkt_info;
|
struct pkt_info pkt_info;
|
||||||
|
|
||||||
while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
|
while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
|
||||||
|
dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE,
|
||||||
|
DMA_FROM_DEVICE);
|
||||||
mp->rx_desc_count--;
|
mp->rx_desc_count--;
|
||||||
received_packets++;
|
received_packets++;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user