aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sf/if_sf.c
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2012-02-23 05:10:00 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2012-02-23 05:10:00 +0000
commit911dd7324dc2817838b304d8680987dc3548c20c (patch)
tree38fe00e1432751295262c7c75cbd730c21788a50 /sys/dev/sf/if_sf.c
parent41e556b9d11a42e1ba8093f983c42eb8a933b64a (diff)
downloadsrc-911dd7324dc2817838b304d8680987dc3548c20c.tar.gz
src-911dd7324dc2817838b304d8680987dc3548c20c.zip
Give hardware chance to drain active DMA cycles.
Notes
Notes: svn path=/head/; revision=232019
Diffstat (limited to 'sys/dev/sf/if_sf.c')
-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 251f310ae5d9..6a8b49fc53c4 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);