diff --git a/components/mlme/dispatcher/src/wlan_mlme_api.c b/components/mlme/dispatcher/src/wlan_mlme_api.c index b3ef6de367..ee1af475bb 100644 --- a/components/mlme/dispatcher/src/wlan_mlme_api.c +++ b/components/mlme/dispatcher/src/wlan_mlme_api.c @@ -6173,6 +6173,7 @@ void wlan_mlme_get_feature_info(struct wlan_objmgr_psoc *psoc, { uint32_t roam_triggers; int sap_max_num_clients; + bool is_enable_idle_roam = false, is_bss_load_enabled = false; wlan_mlme_get_latency_enable(psoc, &mlme_feature_set->enable_wifi_optimizer); @@ -6182,14 +6183,21 @@ void wlan_mlme_get_feature_info(struct wlan_objmgr_psoc *psoc, WMI_HOST_VENDOR1_REQ1_VERSION_3_20; roam_triggers = wlan_mlme_get_roaming_triggers(psoc); + wlan_mlme_get_bss_load_enabled(psoc, &is_bss_load_enabled); mlme_feature_set->roaming_high_cu_roam_trigger = - roam_triggers & BIT(ROAM_TRIGGER_REASON_BSS_LOAD); + (roam_triggers & BIT(ROAM_TRIGGER_REASON_BSS_LOAD)) && + is_bss_load_enabled; + mlme_feature_set->roaming_emergency_trigger = roam_triggers & BIT(ROAM_TRIGGER_REASON_FORCED); mlme_feature_set->roaming_btm_trihgger = roam_triggers & BIT(ROAM_TRIGGER_REASON_BTM); + + wlan_mlme_get_enable_idle_roam(psoc, &is_enable_idle_roam); mlme_feature_set->roaming_idle_trigger = - roam_triggers & BIT(ROAM_TRIGGER_REASON_IDLE); + (roam_triggers & BIT(ROAM_TRIGGER_REASON_IDLE)) && + is_enable_idle_roam; + mlme_feature_set->roaming_wtc_trigger = roam_triggers & BIT(ROAM_TRIGGER_REASON_WTC_BTM); mlme_feature_set->roaming_btcoex_trigger =