summaryrefslogtreecommitdiffstats
path: root/sys/dev/bwi
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2009-05-13 14:25:55 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2009-05-13 14:25:55 +0000
commitc3fa533bb1729b310d58d84d31ad92dd97e5f75f (patch)
treec3734e67f8718f659704ced9e4bb029c4eab6848 /sys/dev/bwi
parent07e8ac4814c5573cad88daa8a259a73caf6331d7 (diff)
downloadFreeBSD-src-c3fa533bb1729b310d58d84d31ad92dd97e5f75f.zip
FreeBSD-src-c3fa533bb1729b310d58d84d31ad92dd97e5f75f.tar.gz
Add a short delay after programming PHY registers to give some time for
the engine to catch up. This prevents a machine check exception from illegal memory requests with a BCM4318.
Diffstat (limited to 'sys/dev/bwi')
-rw-r--r--sys/dev/bwi/bwiphy.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/bwi/bwiphy.c b/sys/dev/bwi/bwiphy.c
index 2f93c59..9fa7a6b 100644
--- a/sys/dev/bwi/bwiphy.c
+++ b/sys/dev/bwi/bwiphy.c
@@ -664,6 +664,7 @@ bwi_phy_init_11b_rev6(struct bwi_mac *mac)
for (ofs = 0xa8; ofs < 0xc8; ++ofs) {
PHY_WRITE(mac, ofs, (val & 0x3f3f));
val += 0x202;
+ DELAY(10);
}
if (phy->phy_mode == IEEE80211_MODE_11G) {
OpenPOWER on IntegriCloud