summaryrefslogtreecommitdiffstats
path: root/sys/dev/bge
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2007-05-22 18:16:23 +0000
committerjkim <jkim@FreeBSD.org>2007-05-22 18:16:23 +0000
commit01e104736741525a97ab555ce4715cbecf9422b6 (patch)
tree7267208a81b3038075f3d72f9d7e0da8d15ab8b7 /sys/dev/bge
parent3a70a1c7a48648c31ef97b578e4dd14824b1e47a (diff)
downloadFreeBSD-src-01e104736741525a97ab555ce4715cbecf9422b6.zip
FreeBSD-src-01e104736741525a97ab555ce4715cbecf9422b6.tar.gz
Add delays in MI communication register R/W loops.
Diffstat (limited to 'sys/dev/bge')
-rw-r--r--sys/dev/bge/if_bge.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 038c672..d63e38f 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -658,6 +658,7 @@ bge_miibus_readreg(device_t dev, int phy, int reg)
val = CSR_READ_4(sc, BGE_MI_COMM);
if (!(val & BGE_MICOMM_BUSY))
break;
+ DELAY(10);
}
if (i == BGE_TIMEOUT) {
@@ -702,6 +703,7 @@ bge_miibus_writereg(device_t dev, int phy, int reg, int val)
for (i = 0; i < BGE_TIMEOUT; i++) {
if (!(CSR_READ_4(sc, BGE_MI_COMM) & BGE_MICOMM_BUSY))
break;
+ DELAY(10);
}
if (autopoll & BGE_MIMODE_AUTOPOLL) {
OpenPOWER on IntegriCloud