Commit be247c1f authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville

ath9k: Process beacons properly

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.

Also, since the cached TSF value will be zero
initially do not rearm the timer in this
case when a beacon is received, since it results
in spurious values.
Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b8f9279b
...@@ -495,10 +495,15 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, ...@@ -495,10 +495,15 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif,
sc->cur_chan == &sc->offchannel.chan) sc->cur_chan == &sc->offchannel.chan)
break; break;
ath_chanctx_adjust_tbtt_delta(sc);
sc->sched.beacon_pending = false; sc->sched.beacon_pending = false;
sc->sched.beacon_miss = 0; sc->sched.beacon_miss = 0;
if (sc->sched.state == ATH_CHANCTX_STATE_FORCE_ACTIVE ||
!sc->cur_chan->tsf_val)
break;
ath_chanctx_adjust_tbtt_delta(sc);
/* TSF time might have been updated by the incoming beacon, /* TSF time might have been updated by the incoming beacon,
* need update the channel switch timer to reflect the change. * need update the channel switch timer to reflect the change.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment