Bladeren bron

qcacld-3.0: Set hs_20_ap in cm_connect_start_ind()

When connect with assoc_ie has HS20_OUI_TYPE ie, hs_20_ap should
be set to true for using afterwards.

Change-Id: Id3003290473bdfa0adb0fc6471ae052e7944ab3d
CRs-Fixed: 3056979
Huashan Qu 3 jaren geleden
bovenliggende
commit
a3861249ad

+ 3 - 0
components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_api.h

@@ -33,6 +33,9 @@
 #include "wlan_mlo_mgr_public_structs.h"
 #endif
 
+#define HS20_OUI_TYPE   "\x50\x6f\x9a\x10"
+#define HS20_OUI_TYPE_SIZE  4
+
 /**
  * struct cm_vdev_join_req - connect req from legacy CM to vdev manager
  * @vdev_id: vdev id

+ 11 - 0
components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_connect.c

@@ -1000,6 +1000,7 @@ QDF_STATUS cm_connect_start_ind(struct wlan_objmgr_vdev *vdev,
 {
 	struct wlan_objmgr_psoc *psoc;
 	struct rso_config *rso_cfg;
+	struct cm_roam_values_copy src_cfg;
 
 	if (!vdev || !req) {
 		mlme_err("vdev or req is NULL");
@@ -1018,6 +1019,16 @@ QDF_STATUS cm_connect_start_ind(struct wlan_objmgr_vdev *vdev,
 	if (rso_cfg)
 		rso_cfg->rsn_cap = req->crypto.rsn_caps;
 
+	if (wlan_get_ext_ie_ptr_from_ext_id(HS20_OUI_TYPE,
+					    HS20_OUI_TYPE_SIZE,
+					    req->assoc_ie.ptr,
+					    req->assoc_ie.len)) {
+		src_cfg.bool_value = true;
+		wlan_cm_roam_cfg_set_value(wlan_vdev_get_psoc(vdev),
+					   wlan_vdev_get_id(vdev),
+					   HS_20_AP, &src_cfg);
+	}
+
 	return QDF_STATUS_SUCCESS;
 }
 

+ 0 - 3
core/hdd/inc/wlan_hdd_main.h

@@ -316,9 +316,6 @@ enum hdd_nb_cmd_id {
 #define P2P_OUI_TYPE   "\x50\x6f\x9a\x09"
 #define P2P_OUI_TYPE_SIZE  4
 
-#define HS20_OUI_TYPE   "\x50\x6f\x9a\x10"
-#define HS20_OUI_TYPE_SIZE  4
-
 #define OSEN_OUI_TYPE   "\x50\x6f\x9a\x12"
 #define OSEN_OUI_TYPE_SIZE  4