[PATCH 1/6] net: designware: Fix broken cache invalidate

Sascha Hauer s.hauer at pengutronix.de
Mon Sep 9 10:53:16 EDT 2013


Move the cache invalidation of a received packet before we actually
use it.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/net/designware.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index a6b32b9..45de31c 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -337,14 +337,15 @@ static int dwc_ether_rx(struct eth_device *dev)
 	length = (status & DESC_RXSTS_FRMLENMSK) >> \
 		 DESC_RXSTS_FRMLENSHFT;
 
-	net_receive(desc_p->dmamac_addr, length);
-
 	/*
 	 * Make the current descriptor valid again and go to
 	 * the next one
 	 */
 	dma_inv_range((unsigned long)desc_p->dmamac_addr,
 		      (unsigned long)desc_p->dmamac_addr + length);
+
+	net_receive(desc_p->dmamac_addr, length);
+
 	desc_p->txrx_status |= DESC_RXSTS_OWNBYDMA;
 
 	/* Test the wrap-around condition. */
-- 
1.8.4.rc3




More information about the barebox mailing list