ieee80211_cqm_beacon_loss_notify(vif, GFP_ATOMIC);
/* try to switch links, no-op if we don't have MLO */
- iwl_mld_trigger_link_selection(mld, vif);
+ iwl_mld_int_mlo_scan(mld, vif);
}
/* no more logic if we're not in EMLSR */
static void _iwl_mld_select_links(struct iwl_mld *mld,
struct ieee80211_vif *vif);
-void iwl_mld_trigger_link_selection(struct iwl_mld *mld,
- struct ieee80211_vif *vif)
-{
- bool last_scan_was_recent =
- time_before(jiffies, mld->scan.last_mlo_scan_jiffies +
- IWL_MLD_SCAN_EXPIRE_TIME);
-
- if (last_scan_was_recent) {
- IWL_DEBUG_EHT(mld, "MLO scan was recent, skip.\n");
- _iwl_mld_select_links(mld, vif);
- } else {
- IWL_DEBUG_EHT(mld, "Doing link selection after MLO scan\n");
- iwl_mld_int_mlo_scan(mld, vif);
- }
-}
-
void iwl_mld_unblock_emlsr(struct iwl_mld *mld, struct ieee80211_vif *vif,
enum iwl_mld_emlsr_blocked reason)
{
return;
IWL_DEBUG_INFO(mld, "EMLSR is unblocked\n");
- iwl_mld_trigger_link_selection(mld, vif);
+ iwl_mld_int_mlo_scan(mld, vif);
}
static void
mld_vif->emlsr.blocked_reasons)
return;
- iwl_mld_trigger_link_selection(mld, vif);
+ 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_trigger_link_selection(mld, vif);
+ iwl_mld_int_mlo_scan(mld, vif);
return;
}