Commit 2d4caa1d authored by Gregory Greenman's avatar Gregory Greenman Committed by Johannes Berg
Browse files

iwlwifi: mvm: handle PS changes in vif_cfg_changed



Handling of BSS_CHANGED_PS was missing in vif_cfg_changed
callback. Fix it.

Fixes: 22c58834 ("wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed()")
Reported-by: default avatarSultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230905162939.5ef0c8230de6.Ieed265014988c50ec68fbff6d33821e4215f987f@changeid


[note: patch looks bigger than it is due to reindentation]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 5112fa50
Loading
Loading
Loading
Loading
+63 −58
Original line number Diff line number Diff line
@@ -731,9 +731,7 @@ static void iwl_mvm_mld_vif_cfg_changed_station(struct iwl_mvm *mvm,

	mvmvif->associated = vif->cfg.assoc;

	if (!(changes & BSS_CHANGED_ASSOC))
		return;

	if (changes & BSS_CHANGED_ASSOC) {
		if (vif->cfg.assoc) {
			/* clear statistics to get clean beacon counter */
			iwl_mvm_request_statistics(mvm, true);
@@ -800,6 +798,13 @@ static void iwl_mvm_mld_vif_cfg_changed_station(struct iwl_mvm *mvm,
		iwl_mvm_bss_info_changed_station_assoc(mvm, vif, changes);
	}

	if (changes & BSS_CHANGED_PS) {
		ret = iwl_mvm_power_update_mac(mvm);
		if (ret)
			IWL_ERR(mvm, "failed to update power mode\n");
	}
}

static void
iwl_mvm_mld_link_info_changed_ap_ibss(struct iwl_mvm *mvm,
				      struct ieee80211_vif *vif,