summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>2024-05-05 09:19:49 +0300
committerJohannes Berg <johannes.berg@intel.com>2024-05-06 17:33:23 +0300
commit1d52e8ca4cba508011fb5a50b968116a2317642a (patch)
tree2a4765aadae75476a5c3cef2d292bd624f787301 /drivers/net/wireless
parentf23caa392a1b9914424f33d17b6d3ee9b34fb125 (diff)
downloadlinux-1d52e8ca4cba508011fb5a50b968116a2317642a.tar.xz
wifi: iwlwifi: mvm: don't always unblock EMLSR
When an event occurs to unblock EMLSR, the code attempts to re-enable EMLSR. However, the current implementation always tries to activate EMLSR, regardless of whether the blocker was set before the unblocking event or not. If EMLSR was already unblocked, there is no need to re-activate it. Fixes: 6cf7df9f013f ("wifi: iwlwifi: mvm: Add helper functions to update EMLSR status") Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240505091420.eb861402dac9.I6a1d9f774f5551cfab60ea37b71a62640496af9b@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/link.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/link.c b/drivers/net/wireless/intel/iwlwifi/mvm/link.c
index 1ce52adf3173..79f048f54a21 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/link.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/link.c
@@ -956,9 +956,11 @@ void iwl_mvm_unblock_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)
- IWL_DEBUG_INFO(mvm, "Unblocking EMSLR mode. reason = 0x%x\n",
- reason);
+ /* No Change */
+ if (!(mvmvif->esr_disable_reason & reason))
+ return;
+
+ IWL_DEBUG_INFO(mvm, "Unblocking EMSLR mode. reason = 0x%x\n", reason);
mvmvif->esr_disable_reason &= ~reason;