Selaa lähdekoodia

[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>
Dale Farnsworth 18 vuotta sitten
vanhempi
commit
71d2872554
1 muutettua tiedostoa jossa 2 lisäystä ja 0 poistoa
  1. 2 0
      drivers/net/mv643xx_eth.c

+ 2 - 0
drivers/net/mv643xx_eth.c

@@ -385,6 +385,8 @@ static int mv643xx_eth_receive_queue(struct net_device *dev, int budget)
 	struct pkt_info pkt_info;
 
 	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--;
 		received_packets++;