Browse Source

qcacld-3.0: Use uint32 variable to update mcs_12_13_support

Use uint32 variable to populate he_mcs_12_13_supp from ini
he_mcs_12_13_support.
Previously, uint16 variable was used which was populating
he_mcs_12_13_supp_2g correctly but was disabling
he_mcs_12_13_supp_5g.

Change-Id: I28cd2060799a9f46f79860bdf9a3ede1574c9112
CRs-Fixed: 2789303
Utkarsh Bhatnagar 4 years ago
parent
commit
f67808a6ad

+ 6 - 4
components/mlme/core/src/wlan_mlme_main.c

@@ -994,7 +994,7 @@ static void mlme_init_sap_protection_cfg(struct wlan_objmgr_psoc *psoc,
 static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
 				    struct wlan_mlme_cfg *mlme_cfg)
 {
-	uint32_t chan_width;
+	uint32_t chan_width, mcs_12_13;
 	uint16_t value = 0;
 	struct wlan_mlme_he_caps *he_caps = &mlme_cfg->he_caps;
 
@@ -1169,13 +1169,15 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
 	qdf_mem_zero(he_caps->he_ppet_2g, MLME_HE_PPET_LEN);
 	qdf_mem_zero(he_caps->he_ppet_5g, MLME_HE_PPET_LEN);
 
-	value = cfg_get(psoc, CFG_HE_MCS_12_13_SUPPORT);
+	mcs_12_13 = cfg_get(psoc, CFG_HE_MCS_12_13_SUPPORT);
 	/* Get 2.4Ghz and 5Ghz value */
 	mlme_cfg->he_caps.he_mcs_12_13_supp_2g =
-		QDF_GET_BITS(value, HE_MCS12_13_24G_INDEX * HE_MCS12_13_BITS,
+		QDF_GET_BITS(mcs_12_13,
+			     HE_MCS12_13_24G_INDEX * HE_MCS12_13_BITS,
 			     HE_MCS12_13_BITS);
 	mlme_cfg->he_caps.he_mcs_12_13_supp_5g =
-		QDF_GET_BITS(value, HE_MCS12_13_5G_INDEX * HE_MCS12_13_BITS,
+		QDF_GET_BITS(mcs_12_13,
+			     HE_MCS12_13_5G_INDEX * HE_MCS12_13_BITS,
 			     HE_MCS12_13_BITS);
 
 	mlme_cfg->he_caps.enable_6g_sec_check = false;

+ 5 - 0
components/mlme/dispatcher/src/wlan_mlme_api.c

@@ -859,6 +859,11 @@ QDF_STATUS mlme_update_tgt_he_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
 						  wma_cfg->he_mcs_12_13_supp_2g;
 	mlme_obj->cfg.he_caps.he_mcs_12_13_supp_5g &=
 						  wma_cfg->he_mcs_12_13_supp_5g;
+	mlme_debug("mcs_12_13 2G: %x 5G: %x FW_cap: 2G: %x 5G: %x",
+		   mlme_obj->cfg.he_caps.he_mcs_12_13_supp_2g,
+		   mlme_obj->cfg.he_caps.he_mcs_12_13_supp_5g,
+		   wma_cfg->he_mcs_12_13_supp_2g,
+		   wma_cfg->he_mcs_12_13_supp_5g);
 
 	return status;
 }