Commit ce1fa3ad authored by Johannes Berg's avatar Johannes Berg

wifi: iwlwifi: mvm: refactor duplicate chanctx condition

Refactor the check for using a chanctx's def vs. min_def,
to have the same in both places and reuse it later.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129211905.6fcde4051adf.I343934874612d21727ed167accaa967958b2c25b@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 65d3333e
...@@ -4808,7 +4808,7 @@ static void iwl_mvm_ftm_responder_chanctx_iter(void *_data, u8 *mac, ...@@ -4808,7 +4808,7 @@ static void iwl_mvm_ftm_responder_chanctx_iter(void *_data, u8 *mac,
data->responder = true; data->responder = true;
} }
static bool iwl_mvm_is_ftm_responder_chanctx(struct iwl_mvm *mvm, bool iwl_mvm_is_ftm_responder_chanctx(struct iwl_mvm *mvm,
struct ieee80211_chanctx_conf *ctx) struct ieee80211_chanctx_conf *ctx)
{ {
struct iwl_mvm_ftm_responder_iter_data data = { struct iwl_mvm_ftm_responder_iter_data data = {
...@@ -4828,9 +4828,7 @@ static int __iwl_mvm_add_chanctx(struct iwl_mvm *mvm, ...@@ -4828,9 +4828,7 @@ static int __iwl_mvm_add_chanctx(struct iwl_mvm *mvm,
{ {
u16 *phy_ctxt_id = (u16 *)ctx->drv_priv; u16 *phy_ctxt_id = (u16 *)ctx->drv_priv;
struct iwl_mvm_phy_ctxt *phy_ctxt; struct iwl_mvm_phy_ctxt *phy_ctxt;
bool use_def = iwl_mvm_is_ftm_responder_chanctx(mvm, ctx) || struct cfg80211_chan_def *def = iwl_mvm_chanctx_def(mvm, ctx);
iwl_mvm_enable_fils(mvm, ctx);
struct cfg80211_chan_def *def = use_def ? &ctx->def : &ctx->min_def;
int ret; int ret;
lockdep_assert_held(&mvm->mutex); lockdep_assert_held(&mvm->mutex);
...@@ -4896,9 +4894,7 @@ void iwl_mvm_change_chanctx(struct ieee80211_hw *hw, ...@@ -4896,9 +4894,7 @@ void iwl_mvm_change_chanctx(struct ieee80211_hw *hw,
struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
u16 *phy_ctxt_id = (u16 *)ctx->drv_priv; u16 *phy_ctxt_id = (u16 *)ctx->drv_priv;
struct iwl_mvm_phy_ctxt *phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id]; struct iwl_mvm_phy_ctxt *phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id];
bool use_def = iwl_mvm_is_ftm_responder_chanctx(mvm, ctx) || struct cfg80211_chan_def *def = iwl_mvm_chanctx_def(mvm, ctx);
iwl_mvm_enable_fils(mvm, ctx);
struct cfg80211_chan_def *def = use_def ? &ctx->def : &ctx->min_def;
if (WARN_ONCE((phy_ctxt->ref > 1) && if (WARN_ONCE((phy_ctxt->ref > 1) &&
(changed & ~(IEEE80211_CHANCTX_CHANGE_WIDTH | (changed & ~(IEEE80211_CHANCTX_CHANGE_WIDTH |
......
...@@ -2752,4 +2752,17 @@ void iwl_mvm_mld_select_links(struct iwl_mvm *mvm, struct ieee80211_vif *vif, ...@@ -2752,4 +2752,17 @@ void iwl_mvm_mld_select_links(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
int iwl_mvm_mld_get_primary_link(struct iwl_mvm *mvm, int iwl_mvm_mld_get_primary_link(struct iwl_mvm *mvm,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
unsigned long usable_links); unsigned long usable_links);
bool iwl_mvm_is_ftm_responder_chanctx(struct iwl_mvm *mvm,
struct ieee80211_chanctx_conf *ctx);
static inline struct cfg80211_chan_def *
iwl_mvm_chanctx_def(struct iwl_mvm *mvm, struct ieee80211_chanctx_conf *ctx)
{
bool use_def = iwl_mvm_is_ftm_responder_chanctx(mvm, ctx) ||
iwl_mvm_enable_fils(mvm, ctx);
return use_def ? &ctx->def : &ctx->min_def;
}
#endif /* __IWL_MVM_H__ */ #endif /* __IWL_MVM_H__ */
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