Browse Source

qcacmn: Update roaming candidate selection logic

Update roaming candidate selection logic to add weightage to 11ax
AP.

Change-Id: I7ae6702095d6da8e302e35577f5e4697b5e06d3a
CRs-Fixed: 2037840
Krishna Kumaar Natarajan 8 years ago
parent
commit
7726378826

+ 4 - 2
umac/scan/core/src/wlan_scan_cache_db_ops.c

@@ -213,8 +213,10 @@ static uint32_t scm_get_bss_cap_value(struct scan_default_params *params,
 	 * the capability checking
 	 */
 	if (!params->select_5ghz_margin) {
-		/* We only care about 11N capability */
-		if (entry->ie_list.vhtcap)
+		/* give weightage in the order 11ax, 11ac, 11n */
+		if (entry->ie_list.hecap)
+			ret += SCM_BSS_CAP_VALUE_HE;
+		else if (entry->ie_list.vhtcap)
 			ret += SCM_BSS_CAP_VALUE_VHT;
 		else if (entry->ie_list.htcap)
 			ret += SCM_BSS_CAP_VALUE_HT;

+ 1 - 0
umac/scan/dispatcher/inc/wlan_scan_public_structs.h

@@ -41,6 +41,7 @@ typedef uint32_t wlan_scan_id;
 #define SCM_BSS_CAP_VALUE_NONE  0/* not much value */
 #define SCM_BSS_CAP_VALUE_HT    1
 #define SCM_BSS_CAP_VALUE_VHT   2
+#define SCM_BSS_CAP_VALUE_HE    3
 #define SCM_BSS_CAP_VALUE_WMM   1
 #define SCM_BSS_CAP_VALUE_UAPSD 1
 #define SCM_BSS_CAP_VALUE_5GHZ  2