Commit 22c58834 authored by Gregory Greenman's avatar Gregory Greenman Committed by Johannes Berg

wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed()

These are two new handlers for MLO. As the configurations done in
bss_info_changed() are now split into two separate flows, use MLO
specific implementation instead of common functions with the non-MLO
code.
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230328104949.7b238cae0895.Ieb87f204787fb1c7cb7562e1cbf54ef518d87123@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent cacc1d42
...@@ -113,7 +113,7 @@ int iwl_mvm_link_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, ...@@ -113,7 +113,7 @@ int iwl_mvm_link_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
link_conf->dtim_period); link_conf->dtim_period);
if (!link_conf->he_support || iwlwifi_mod_params.disable_11ax || if (!link_conf->he_support || iwlwifi_mod_params.disable_11ax ||
!vif->cfg.assoc) { (vif->type == NL80211_IFTYPE_STATION && !vif->cfg.assoc)) {
changes &= ~LINK_CONTEXT_MODIFY_HE_PARAMS; changes &= ~LINK_CONTEXT_MODIFY_HE_PARAMS;
goto send_cmd; goto send_cmd;
} }
......
...@@ -1888,8 +1888,7 @@ static void iwl_mvm_config_iface_filter(struct ieee80211_hw *hw, ...@@ -1888,8 +1888,7 @@ static void iwl_mvm_config_iface_filter(struct ieee80211_hw *hw,
mutex_unlock(&mvm->mutex); mutex_unlock(&mvm->mutex);
} }
static int iwl_mvm_update_mu_groups(struct iwl_mvm *mvm, int iwl_mvm_update_mu_groups(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
struct ieee80211_vif *vif)
{ {
struct iwl_mu_group_mgmt_cmd cmd = {}; struct iwl_mu_group_mgmt_cmd cmd = {};
...@@ -2523,6 +2522,9 @@ iwl_mvm_bss_info_changed_station_common(struct iwl_mvm *mvm, ...@@ -2523,6 +2522,9 @@ iwl_mvm_bss_info_changed_station_common(struct iwl_mvm *mvm,
/* reset cqm events tracking */ /* reset cqm events tracking */
mvmvif->bf_data.last_cqm_event = 0; mvmvif->bf_data.last_cqm_event = 0;
if (mvmvif->bf_data.bf_enabled) { if (mvmvif->bf_data.bf_enabled) {
/* FIXME: need to update per link when FW API will
* support it
*/
ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0);
if (ret) if (ret)
IWL_ERR(mvm, IWL_ERR(mvm,
......
...@@ -2621,4 +2621,5 @@ int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif, ...@@ -2621,4 +2621,5 @@ int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
int iwl_mvm_set_hw_timestamp(struct ieee80211_hw *hw, int iwl_mvm_set_hw_timestamp(struct ieee80211_hw *hw,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
struct cfg80211_set_hw_timestamp *hwts); struct cfg80211_set_hw_timestamp *hwts);
int iwl_mvm_update_mu_groups(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
#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