Commit 26f16c24 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville

ath9k: Add ATH_OP_MULTI_CHANNEL

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarRajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b01459e8
...@@ -63,6 +63,7 @@ enum ath_op_flags { ...@@ -63,6 +63,7 @@ enum ath_op_flags {
ATH_OP_PRIM_STA_VIF, ATH_OP_PRIM_STA_VIF,
ATH_OP_HW_RESET, ATH_OP_HW_RESET,
ATH_OP_SCANNING, ATH_OP_SCANNING,
ATH_OP_MULTI_CHANNEL,
}; };
enum ath_bus_type { enum ath_bus_type {
......
...@@ -150,8 +150,10 @@ ath_chanctx_send_vif_ps_frame(struct ath_softc *sc, struct ath_vif *avp, ...@@ -150,8 +150,10 @@ ath_chanctx_send_vif_ps_frame(struct ath_softc *sc, struct ath_vif *avp,
void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx) void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx)
{ {
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
struct ath_vif *avp; struct ath_vif *avp;
bool active = false; bool active = false;
u8 n_active = 0;
if (!ctx) if (!ctx)
return; return;
...@@ -171,6 +173,17 @@ void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx) ...@@ -171,6 +173,17 @@ void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx)
} }
} }
ctx->active = active; ctx->active = active;
ath_for_each_chanctx(sc, ctx) {
if (!ctx->assigned || list_empty(&ctx->vifs))
continue;
n_active++;
}
if (n_active > 1)
set_bit(ATH_OP_MULTI_CHANNEL, &common->op_flags);
else
clear_bit(ATH_OP_MULTI_CHANNEL, &common->op_flags);
} }
static bool static bool
......
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