mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
wifi: iwlwifi: mld: trigger mlo scan only when not in EMLSR
When beacon loss happens or the RSSI drops, trigger MLO scan only if not in EMLSR. The link switch was meant to be done when we are not in EMLSR and we can try to switch to a better link. If in EMLSR, we exit first and then trigger MLO scan. Signed-off-by: Somashekhar Puttagangaiah <somashekhar.puttagangaiah@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250826184046.f6ae8e3882cf.I60901c16487371b8e62019bd0bf25c45ab23752f@changeid
This commit is contained in:
parent
da70749568
commit
14a4aca568
|
|
@ -572,8 +572,11 @@ void iwl_mld_handle_missed_beacon_notif(struct iwl_mld *mld,
|
|||
if (missed_bcon_since_rx > IWL_MLD_MISSED_BEACONS_THRESHOLD) {
|
||||
ieee80211_cqm_beacon_loss_notify(vif, GFP_ATOMIC);
|
||||
|
||||
/* try to switch links, no-op if we don't have MLO */
|
||||
iwl_mld_int_mlo_scan(mld, vif);
|
||||
/* Not in EMLSR and we can't hear the link.
|
||||
* Try to switch to a better link. EMLSR case is handled below.
|
||||
*/
|
||||
if (!iwl_mld_emlsr_active(vif))
|
||||
iwl_mld_int_mlo_scan(mld, vif);
|
||||
}
|
||||
|
||||
/* no more logic if we're not in EMLSR */
|
||||
|
|
|
|||
|
|
@ -379,11 +379,14 @@ static void iwl_mld_update_link_sig(struct ieee80211_vif *vif, int sig,
|
|||
|
||||
/* TODO: task=statistics handle CQM notifications */
|
||||
|
||||
if (sig < IWL_MLD_LOW_RSSI_MLO_SCAN_THRESH)
|
||||
iwl_mld_int_mlo_scan(mld, vif);
|
||||
|
||||
if (!iwl_mld_emlsr_active(vif))
|
||||
if (!iwl_mld_emlsr_active(vif)) {
|
||||
/* We're not in EMLSR and our signal is bad,
|
||||
* try to switch link maybe. EMLSR will be handled below.
|
||||
*/
|
||||
if (sig < IWL_MLD_LOW_RSSI_MLO_SCAN_THRESH)
|
||||
iwl_mld_int_mlo_scan(mld, vif);
|
||||
return;
|
||||
}
|
||||
|
||||
/* We are in EMLSR, check if we need to exit */
|
||||
exit_emlsr_thresh =
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user