summaryrefslogtreecommitdiffstats
path: root/sys/dev/wi
diff options
context:
space:
mode:
authorgreen <green@FreeBSD.org>2003-11-04 23:47:19 +0000
committergreen <green@FreeBSD.org>2003-11-04 23:47:19 +0000
commit039b0cb0daac4bfacb0c1e95792c29e9df4300d6 (patch)
tree57476d586413bbed81e6cf004e638ab376452571 /sys/dev/wi
parent3d453603d4bea9e29c1063724d5e0058080e2b10 (diff)
downloadFreeBSD-src-039b0cb0daac4bfacb0c1e95792c29e9df4300d6.zip
FreeBSD-src-039b0cb0daac4bfacb0c1e95792c29e9df4300d6.tar.gz
Truly fix the lockup mentioned in 1.153. The PRISM hardware is not
capable of functioning in HostAP mode with a zero-length SSID, so use " " if one is not set.
Diffstat (limited to 'sys/dev/wi')
-rw-r--r--sys/dev/wi/if_wi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c
index e4076ff..8313a89 100644
--- a/sys/dev/wi/if_wi.c
+++ b/sys/dev/wi/if_wi.c
@@ -655,6 +655,15 @@ wi_init(void *arg)
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC);
break;
case IEEE80211_M_HOSTAP:
+ /*
+ * For PRISM cards, override the empty SSID, because in
+ * HostAP mode the controller will lock up otherwise.
+ */
+ if (sc->sc_firmware_type == WI_INTERSIL &&
+ ic->ic_des_esslen == 0) {
+ ic->ic_des_essid[0] = ' ';
+ ic->ic_des_esslen = 1;
+ }
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_HOSTAP);
break;
case IEEE80211_M_MONITOR:
OpenPOWER on IntegriCloud