ath9k: Assign offchannel duration properly
In multi-channel mode, an offchannel request will be deferred if both contexts are active. The duration of the offchannel operation is calculated but is not stored in the scheduler state. Fix this. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
867fa0d49c
commit
cbc775db2e
@ -588,10 +588,15 @@ static void ath_chanctx_switch(struct ath_softc *sc, struct ath_chanctx *ctx,
|
||||
|
||||
if (test_bit(ATH_OP_MULTI_CHANNEL, &common->op_flags) &&
|
||||
(sc->cur_chan != ctx) && (ctx == &sc->offchannel.chan)) {
|
||||
sc->sched.offchannel_pending = true;
|
||||
sc->sched.wait_switch = true;
|
||||
if (chandef)
|
||||
ctx->chandef = *chandef;
|
||||
|
||||
sc->sched.offchannel_pending = true;
|
||||
sc->sched.wait_switch = true;
|
||||
sc->sched.offchannel_duration =
|
||||
jiffies_to_usecs(sc->offchannel.duration) +
|
||||
sc->sched.channel_switch_time;
|
||||
|
||||
spin_unlock_bh(&sc->chan_lock);
|
||||
ath_dbg(common, CHAN_CTX,
|
||||
"Set offchannel_pending to true\n");
|
||||
|
Loading…
Reference in New Issue
Block a user