summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2012-02-23 05:10:00 +0000
committeryongari <yongari@FreeBSD.org>2012-02-23 05:10:00 +0000
commitee39e5dc9c34849f86dddd21737ff4bbb66f072d (patch)
tree38fe00e1432751295262c7c75cbd730c21788a50
parent9859b8a5d674086d9d378f063205276bdc1bfad5 (diff)
downloadFreeBSD-src-ee39e5dc9c34849f86dddd21737ff4bbb66f072d.zip
FreeBSD-src-ee39e5dc9c34849f86dddd21737ff4bbb66f072d.tar.gz
Give hardware chance to drain active DMA cycles.
-rw-r--r--sys/dev/sf/if_sf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/sf/if_sf.c b/sys/dev/sf/if_sf.c
index 251f310..6a8b49f 100644
--- a/sys/dev/sf/if_sf.c
+++ b/sys/dev/sf/if_sf.c
@@ -2329,6 +2329,9 @@ sf_stop(struct sf_softc *sc)
/* Disable Tx/Rx egine. */
csr_write_4(sc, SF_GEN_ETH_CTL, 0);
+ /* Give hardware chance to drain active DMA cycles. */
+ DELAY(1000);
+
csr_write_4(sc, SF_CQ_CONSIDX, 0);
csr_write_4(sc, SF_CQ_PRODIDX, 0);
csr_write_4(sc, SF_RXDQ_ADDR_Q1, 0);
OpenPOWER on IntegriCloud