Sujith Manoharan wrote: > From: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> > > When the current operating channel context has > been marked as ATH_CHANCTX_STATE_FORCE_ACTIVE, > do not process beacons that might be received, > since we have to wait for the station to become > authorized. > > Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath9k/channel.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c > index 16bed6a..55f2369 100644 > --- a/drivers/net/wireless/ath/ath9k/channel.c > +++ b/drivers/net/wireless/ath/ath9k/channel.c > @@ -492,7 +492,8 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, > break; > case ATH_CHANCTX_EVENT_BEACON_RECEIVED: > if (!test_bit(ATH_OP_MULTI_CHANNEL, &common->op_flags) || > - sc->cur_chan == &sc->offchannel.chan) > + sc->cur_chan == &sc->offchannel.chan || > + sc->sched.state == ATH_CHANCTX_STATE_FORCE_ACTIVE) > break; The check for FORCE_ACTIVE needs to be done after we set beacon_miss/beacon_pending to zero. Also, since we now have a small window where we start receiving beacons while waiting for the handshake to complete, we end up rearming the timer based on the cached tsf_val of the current channel. But, since it will be zero the first time the context becomes active, the timeout value is assigned spurious values. I'll address both these issues and send a v2. Sujith -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html