diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-06 12:35:28 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-09 14:07:44 +0200 |
commit | 9743dce55a1ebaeae924eb5773088f994ba41b65 (patch) | |
tree | fcfe91c175eb9ed193115bf19e9799e035acedd6 /drivers/net/designware.c | |
parent | 91a68050e1607ca53f9733b90a43a0b473bce58e (diff) | |
download | barebox-9743dce55a1ebaeae924eb5773088f994ba41b65.tar.gz barebox-9743dce55a1ebaeae924eb5773088f994ba41b65.tar.xz |
net: designware: Fix broken cache invalidate
Move the cache invalidation of a received packet before we actually
use it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/designware.c')
-rw-r--r-- | drivers/net/designware.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c index a6b32b9b2e..45de31c605 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. */ |