Commit cec74584 authored by Miri Korenblit's avatar Miri Korenblit Committed by Johannes Berg
Browse files

wifi: iwlwifi: mvm: Make iwl_mvm_diversity_iter() MLO aware



This function is MLO related, so it should iterate over all the links,
and not only on deflink.

Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230524203151.56a9c709e987.I9716195ec288cce2c929338c254ee9add8cfcc1f@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent cad7850a
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -413,19 +413,23 @@ static void iwl_mvm_diversity_iter(void *_data, u8 *mac,
{
	struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
	struct iwl_mvm_diversity_iter_data *data = _data;
	int i;
	int i, link_id;

	if (mvmvif->deflink.phy_ctxt != data->ctxt)
		return;
	for_each_mvm_vif_valid_link(mvmvif, link_id) {
		struct iwl_mvm_vif_link_info *link_info = mvmvif->link[link_id];

		if (link_info->phy_ctxt != data->ctxt)
			continue;

		for (i = 0; i < NUM_IWL_MVM_SMPS_REQ; i++) {
		if (mvmvif->deflink.smps_requests[i] == IEEE80211_SMPS_STATIC ||
		    mvmvif->deflink.smps_requests[i] == IEEE80211_SMPS_DYNAMIC) {
			if (link_info->smps_requests[i] == IEEE80211_SMPS_STATIC ||
			    link_info->smps_requests[i] == IEEE80211_SMPS_DYNAMIC) {
				data->result = false;
				break;
			}
		}
	}
}

bool iwl_mvm_rx_diversity_allowed(struct iwl_mvm *mvm,
				  struct iwl_mvm_phy_ctxt *ctxt)