aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/mvm
diff options
context:
space:
mode:
authorGravatar Miri Korenblit <miriam.rachel.korenblit@intel.com> 2024-05-05 09:19:49 +0300
committerGravatar Johannes Berg <johannes.berg@intel.com> 2024-05-06 16:33:23 +0200
commit1d52e8ca4cba508011fb5a50b968116a2317642a (patch)
tree2a4765aadae75476a5c3cef2d292bd624f787301 /drivers/net/wireless/intel/iwlwifi/mvm
parentwifi: iwlwifi: mvm: Always allow entering EMLSR from debugfs (diff)
downloadlinux-1d52e8ca4cba508011fb5a50b968116a2317642a.tar.gz
linux-1d52e8ca4cba508011fb5a50b968116a2317642a.tar.bz2
linux-1d52e8ca4cba508011fb5a50b968116a2317642a.zip
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/intel/iwlwifi/mvm')
-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;