summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>2025-03-09 07:36:52 +0200
committerJohannes Berg <johannes.berg@intel.com>2025-03-11 16:29:26 +0100
commitd414ff7a733819f78a49b832fad6d4e7cb1f9150 (patch)
tree027d3d6bc5556bab1b7d15349ad5b761d1338eea
parentf31d666f0b710818603a8b6a03cff23ea4a2ad0e (diff)
wifi: iwlwifi: mld: fix bad RSSI handling
If the RSSI is dropping to below the threshold, we need to do a MLO scan to try select a better link. This is true also if the connection doesn't have EMLSR capability, and also if we are in EMLSR. Fix the logic to always check the RSSI (and do a MLO scan if needed). Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20250309073442.a31b95888244.If6dca30d657658fa902b19e07b6fbc86c48d69cb@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mld/stats.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mld/stats.c b/drivers/net/wireless/intel/iwlwifi/mld/stats.c
index a9d3860d8f9c..75cb204c2419 100644
--- a/drivers/net/wireless/intel/iwlwifi/mld/stats.c
+++ b/drivers/net/wireless/intel/iwlwifi/mld/stats.c
@@ -378,15 +378,11 @@ static void iwl_mld_update_link_sig(struct ieee80211_vif *vif, int sig,
/* TODO: task=statistics handle CQM notifications */
- if (!iwl_mld_vif_has_emlsr_cap(vif))
- return;
+ if (sig < IWL_MLD_LOW_RSSI_MLO_SCAN_THRESH)
+ iwl_mld_int_mlo_scan(mld, vif);
- /* Handle inactive EMLSR, check whether to switch links */
- if (!iwl_mld_emlsr_active(vif)) {
- if (sig < IWL_MLD_LOW_RSSI_MLO_SCAN_THRESH)
- iwl_mld_int_mlo_scan(mld, vif);
+ if (!iwl_mld_emlsr_active(vif))
return;
- }
/* We are in EMLSR, check if we need to exit */
exit_emlsr_thresh =