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

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: NSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 867fa0d4
......@@ -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");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册