diff options
author | jkim <jkim@FreeBSD.org> | 2007-05-22 18:16:23 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2007-05-22 18:16:23 +0000 |
commit | 01e104736741525a97ab555ce4715cbecf9422b6 (patch) | |
tree | 7267208a81b3038075f3d72f9d7e0da8d15ab8b7 /sys/dev/bge | |
parent | 3a70a1c7a48648c31ef97b578e4dd14824b1e47a (diff) | |
download | FreeBSD-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.c | 2 |
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) { |