summaryrefslogtreecommitdiffstats
path: root/sys/dev/ipw
diff options
context:
space:
mode:
authorbschmidt <bschmidt@FreeBSD.org>2010-04-17 18:16:14 +0000
committerbschmidt <bschmidt@FreeBSD.org>2010-04-17 18:16:14 +0000
commit903f454d6428a33496514e0c6f0f446e3cc37a61 (patch)
tree8c80fe216011a560f331c7efa8543b602ea83df5 /sys/dev/ipw
parentccd6c26a877aa40d63b9c7280c945eee15428476 (diff)
downloadFreeBSD-src-903f454d6428a33496514e0c6f0f446e3cc37a61.zip
FreeBSD-src-903f454d6428a33496514e0c6f0f446e3cc37a61.tar.gz
- Make ipw usable again by moving directly into ASSOC state.
- No need to manually switch to RUN state, assoc response takes care of that. Approved by: rpaulo (mentor)
Diffstat (limited to 'sys/dev/ipw')
-rw-r--r--sys/dev/ipw/if_ipw.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/ipw/if_ipw.c b/sys/dev/ipw/if_ipw.c
index 3a8d85d..2e62949 100644
--- a/sys/dev/ipw/if_ipw.c
+++ b/sys/dev/ipw/if_ipw.c
@@ -904,6 +904,13 @@ ipw_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
break;
case IEEE80211_S_AUTH:
+ /*
+ * Move to ASSOC state after the ipw_assoc() call. Firmware
+ * takes care of authentication, after the call we'll receive
+ * only an assoc response which would otherwise be discared
+ * if we are still in AUTH state.
+ */
+ nstate = IEEE80211_S_ASSOC;
ipw_assoc(ic, vap);
break;
@@ -1021,7 +1028,6 @@ ipw_rx_newstate_intr(struct ipw_softc *sc, struct ipw_soft_buf *sbuf)
}
sc->flags &= ~IPW_FLAG_ASSOCIATING;
sc->flags |= IPW_FLAG_ASSOCIATED;
- ieee80211_new_state(vap, IEEE80211_S_RUN, -1);
break;
case IPW_STATE_SCANNING:
OpenPOWER on IntegriCloud