summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-07 08:33:16 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-01-10 09:53:34 +0100
commit2360b084ff309183fbcb303fde7f5ea3e61f72e5 (patch)
tree7c3cc698a8148442fd267700e249d46f208af6c1
parentif_dwc: Use explicit cache operations (diff)
downloadrtems-libbsd-2360b084ff309183fbcb303fde7f5ea3e61f72e5.tar.bz2
if_dwc: Invalidate read buffer again
This may prevent problems in case a cache line prefetch added some lines to the cache during a DMA transfer.
-rw-r--r--freebsd/sys/dev/dwc/if_dwc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/freebsd/sys/dev/dwc/if_dwc.c b/freebsd/sys/dev/dwc/if_dwc.c
index cd1f217a..d62dc8d9 100644
--- a/freebsd/sys/dev/dwc/if_dwc.c
+++ b/freebsd/sys/dev/dwc/if_dwc.c
@@ -925,6 +925,9 @@ dwc_rxfinish_locked(struct dwc_softc *sc)
/* Remove trailing FCS */
m_adj(m, -ETHER_CRC_LEN);
+#ifdef __rtems__
+ rtems_cache_invalidate_multiple_data_lines(m->m_data, m->m_len);
+#endif /* __rtems__ */
DWC_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
DWC_LOCK(sc);