If for some reason a beacon with a new NoA is
not sent out, then reset the mgd_prepare_tx flag.
Not doing this will result in a situation where
a GO will send a new NoA when it shouldn't.
Signed-off-by: Sujith Manoharan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
init_completion(&sc->go_beacon);
mutex_unlock(&sc->mutex);
+
if (wait_for_completion_timeout(&sc->go_beacon,
- timeout) == 0)
+ timeout) == 0) {
ath_dbg(common, CHAN_CTX,
"Failed to send new NoA\n");
+
+ spin_lock_bh(&sc->chan_lock);
+ sc->sched.mgd_prepare_tx = false;
+ spin_unlock_bh(&sc->chan_lock);
+ }
+
mutex_lock(&sc->mutex);
}