Sfoglia il codice sorgente

qcacld-3.0: Send roaming feature indication to FW

To enable the below 2 features in FW:
1. IDLE roam scan
2. Roam triggered due to high channel utilization
   in the currently connected channel

Currently, if "roam_triggers" bitmap is set for above
features, Host indicates FW that "IDLE roam scan"
and "roam trigger due to BSS load" features are
enabled irrespective of corresponding INI
'enable_idle_roam' and 'enable_bss_load_roam_trigger'
respectively.

Consider the value of corresponding INI also while
sending enable indication to FW.

Change-Id: I0d59e0a32df4aa95850f12a99bae439fea40acf5
CRs-Fixed: 3281952
abhinav kumar 2 anni fa
parent
commit
b91c689b0a
1 ha cambiato i file con 10 aggiunte e 2 eliminazioni
  1. 10 2
      components/mlme/dispatcher/src/wlan_mlme_api.c

+ 10 - 2
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 =