Commit f27579ff authored by Johannes Berg's avatar Johannes Berg
Browse files

wifi: iwlwifi: mvm: simplify EMLSR blocking



If EMLSR is already blocked for the same reason that
it's blocked for again, there's no need to actually
do any work, so exit early from the function. Also,
print the state after modifying it, so it's clearer.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240703125541.6995464f0bac.Iac9fe3546ca0a0d6bc6666c822a667ab257419a9@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent d81bf4b6
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -1033,15 +1033,17 @@ void iwl_mvm_block_esr(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
	if (WARN_ON(!(reason & IWL_MVM_BLOCK_ESR_REASONS)))
		return;

	if (!(mvmvif->esr_disable_reason & reason)) {
	if (mvmvif->esr_disable_reason & reason)
		return;

	IWL_DEBUG_INFO(mvm,
		       "Blocking EMLSR mode. reason = %s (0x%x)\n",
		       iwl_get_esr_state_string(reason), reason);
		iwl_mvm_print_esr_state(mvm, mvmvif->esr_disable_reason);
	}

	mvmvif->esr_disable_reason |= reason;

	iwl_mvm_print_esr_state(mvm, mvmvif->esr_disable_reason);

	iwl_mvm_exit_esr(mvm, vif, reason, link_to_keep);
}