提交 8890d05f 编写于 作者: S Sujith Manoharan 提交者: John W. Linville

ath9k: Clear NoA schedule properly

When an active context transitions to inactive
state, the NoA schedule needs to be removed
for the context that has beaconing enabled.
Not doing this will affect p2p clients.
Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 eaf04a69
......@@ -356,6 +356,21 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif,
"Move chanctx state from WAIT_FOR_TIMER to WAIT_FOR_BEACON\n");
}
/*
* When a context becomes inactive, for example,
* disassociation of a station context, the NoA
* attribute needs to be removed from subsequent
* beacons.
*/
if (!ctx->active && avp->noa_duration &&
sc->sched.state != ATH_CHANCTX_STATE_WAIT_FOR_BEACON) {
avp->noa_duration = 0;
avp->periodic_noa = false;
ath_dbg(common, CHAN_CTX,
"Clearing NoA schedule\n");
}
if (sc->sched.state != ATH_CHANCTX_STATE_WAIT_FOR_BEACON)
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册