Browse Source

qcacld-3.0: Cleanup HT Related CFG/INI Items

Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component

Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
Vignesh Viswanathan 6 years ago
parent
commit
ecd4de72ad

+ 3 - 0
components/mlme/core/src/wlan_mlme_main.c

@@ -652,6 +652,9 @@ static void mlme_init_ht_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
 	ht_caps->enable_smps = cfg_get(psoc, CFG_ENABLE_HT_SMPS);
 	ht_caps->smps = cfg_get(psoc, CFG_HT_SMPS_MODE);
 	ht_caps->max_num_amsdu = cfg_get(psoc, CFG_MAX_AMSDU_NUM);
+	ht_caps->tx_ldpc_enable = cfg_get(psoc, CFG_TX_LDPC_ENABLE);
+	ht_caps->short_slot_time_enabled =
+		cfg_get(psoc, CFG_SHORT_SLOT_TIME_ENABLED);
 }
 
 static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,

+ 24 - 1
components/mlme/dispatcher/inc/cfg_mlme_ht_caps.h

@@ -370,6 +370,28 @@
 	CFG_VALUE_OR_DEFAULT, \
 	"MPDU Density")
 
+/*
+ * <ini>
+ * gShortSlotTimeEnabled - It will set slot timing slot.
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to set default timing slot.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_SHORT_SLOT_TIME_ENABLED CFG_INI_BOOL( \
+	"gShortSlotTimeEnabled", \
+	1, \
+	"Short Slot Time Enabled")
+
 #define CFG_HT_CAPS_ALL \
 	CFG(CFG_HT_CAP_INFO) \
 	CFG(CFG_TX_LDPC_ENABLE) \
@@ -388,6 +410,7 @@
 	CFG(CFG_HT_SMPS_MODE) \
 	CFG(CFG_MAX_AMSDU_NUM) \
 	CFG(CFG_MAX_RX_AMPDU_FACTOR) \
-	CFG(CFG_MPDU_DENSITY)
+	CFG(CFG_MPDU_DENSITY) \
+	CFG(CFG_SHORT_SLOT_TIME_ENABLED)
 
 #endif /* __CFG_MLME_HT_CAPS_H */

+ 4 - 0
components/mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -455,6 +455,8 @@ struct mlme_ht_info_field_3 {
  * @enable_smps: Enabled SM Power Save
  * @smps : SM Power Save mode
  * @max_num_amsdu: Max number of AMSDU
+ * @tx_ldpc_enable: Enable Tx LDPC
+ * @short_slot_time_enabled: Enabled/disable short slot time
  */
 struct wlan_mlme_ht_caps {
 	struct mlme_ht_capabilities_info ht_cap_info;
@@ -468,6 +470,8 @@ struct wlan_mlme_ht_caps {
 	bool enable_smps;
 	uint8_t smps;
 	uint8_t max_num_amsdu;
+	uint8_t tx_ldpc_enable;
+	bool short_slot_time_enabled;
 };
 
 /*

+ 0 - 100
core/hdd/inc/wlan_hdd_cfg.h

@@ -139,29 +139,6 @@ struct hdd_context;
 #define CFG_OPERATING_CHANNEL_MAX              (14)
 #define CFG_OPERATING_CHANNEL_DEFAULT          (1)
 
-/*
- * <ini>
- * gShortSlotTimeEnabled - It will set slot timing slot.
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to set default timing slot.
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- * </ini>
- */
-
-#define CFG_SHORT_SLOT_TIME_ENABLED_NAME       "gShortSlotTimeEnabled"
-#define CFG_SHORT_SLOT_TIME_ENABLED_MIN        WNI_CFG_SHORT_SLOT_TIME_STAMIN
-#define CFG_SHORT_SLOT_TIME_ENABLED_MAX        WNI_CFG_SHORT_SLOT_TIME_STAMAX
-#define CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT    WNI_CFG_SHORT_SLOT_TIME_STADEF
-
 /*
  * <ini>
  * g11dSupportEnabled - Enable/Disable 11d support
@@ -3502,29 +3479,6 @@ enum hdd_link_speed_rpt_type {
 #define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MAX   (1)
 #define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_DEFAULT (0)
 
-/*
- * <ini>
- * gShortGI40Mhz - It will check gShortGI20Mhz and
- * gShortGI40Mhz from session entry
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to set default gShortGI40Mhz
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- * </ini>
- */
-#define CFG_SHORT_GI_40MHZ_NAME                "gShortGI40Mhz"
-#define CFG_SHORT_GI_40MHZ_MIN                 0
-#define CFG_SHORT_GI_40MHZ_MAX                 1
-#define CFG_SHORT_GI_40MHZ_DEFAULT             1
-
 /*
  * <ini>
  * gEnableMCCMode - Enable/Disable MCC feature.
@@ -3826,56 +3780,6 @@ enum hdd_link_speed_rpt_type {
 #define CFG_ENABLE_TX_STBC_MAX                   (1)
 #define CFG_ENABLE_TX_STBC_DEFAULT               (0)
 
-/*
- * <ini>
- * gTxLdpcEnable - Config Param to enable Tx LDPC capability
- * @Min: 0
- * @Max: 3
- * @Default: 3
- *
- * This ini is used to enable/disable Tx LDPC capability
- * 0 - disable
- * 1 - HT LDPC enable
- * 2 - VHT LDPC enable
- * 3 - HT & VHT LDPC enable
- *
- * Related: STA/SAP/P2P/IBSS/NAN.
- *
- * Supported Feature: Concurrency/Standalone
- *
- * Usage: Internal/External
- *
- * </ini>
- */
-#define CFG_TX_LDPC_ENABLE_FEATURE         "gTxLdpcEnable"
-#define CFG_TX_LDPC_ENABLE_FEATURE_MIN     (0)
-#define CFG_TX_LDPC_ENABLE_FEATURE_MAX     (3)
-#define CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT (3)
-
-/*
- * <ini>
- * gEnableRXLDPC - Config Param to enable Rx LDPC capability
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to enable/disable Rx LDPC capability
- *
- * Related: STA/SAP/P2P/IBSS/NAN.
- *
- * Supported Feature: Concurrency/Standalone
- *
- * Usage: Internal/External
- *
- * </ini>
- */
-
-#define CFG_ENABLE_RX_LDPC                       "gEnableRXLDPC"
-#define CFG_ENABLE_RX_LDPC_MIN                   (0)
-#define CFG_ENABLE_RX_LDPC_MAX                   (1)
-#define CFG_ENABLE_RX_LDPC_DEFAULT               (0)
-
-
 #define CFG_DISABLE_LDPC_WITH_TXBF_AP             "gDisableLDPCWithTxbfAP"
 #define CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN         (0)
 #define CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX         (1)
@@ -6260,7 +6164,6 @@ struct hdd_config {
 #endif
 	bool enable_connected_scan;
 	uint8_t OperatingChannel;
-	bool ShortSlotTimeEnabled;
 	bool Is11dSupportEnabled;
 	bool Is11hSupportEnabled;
 	char PowerUsageControl[4];
@@ -6409,7 +6312,6 @@ struct hdd_config {
 #endif
 	uint8_t enableDFSChnlScan;
 	uint8_t enable_dfs_pno_chnl_scan;
-	uint8_t ShortGI40MhzEnable;
 	enum hdd_link_speed_rpt_type reportMaxLinkSpeed;
 	int32_t linkSpeedRssiHigh;
 	int32_t linkSpeedRssiMid;
@@ -6454,8 +6356,6 @@ struct hdd_config {
 	uint32_t bad_peer_limit_ieee80211ac;
 #endif
 	bool enableFirstScan2GOnly;
-	uint8_t enable_tx_ldpc;
-	uint8_t enable_rx_ldpc;
 	bool prevent_link_down;
 	uint8_t scanAgingTimeout;
 	uint8_t disableLDPCWithTxbfAP;

+ 0 - 32
core/hdd/src/wlan_hdd_cfg.c

@@ -369,13 +369,6 @@ struct reg_table_entry g_registry_table[] = {
 		     CFG_OPERATING_CHANNEL_MIN,
 		     CFG_OPERATING_CHANNEL_MAX),
 
-	REG_VARIABLE(CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
-		     struct hdd_config, ShortSlotTimeEnabled,
-		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
-		     CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
-		     CFG_SHORT_SLOT_TIME_ENABLED_MIN,
-		     CFG_SHORT_SLOT_TIME_ENABLED_MAX),
-
 	REG_VARIABLE(CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
 		     struct hdd_config, Is11dSupportEnabled,
 		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
@@ -1179,13 +1172,6 @@ struct reg_table_entry g_registry_table[] = {
 		     CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN,
 		     CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX),
 
-	REG_VARIABLE(CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
-		     struct hdd_config, ShortGI40MhzEnable,
-		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
-		     CFG_SHORT_GI_40MHZ_DEFAULT,
-		     CFG_SHORT_GI_40MHZ_MIN,
-		     CFG_SHORT_GI_40MHZ_MAX),
-
 	REG_DYNAMIC_VARIABLE(CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
 			     struct hdd_config, reportMaxLinkSpeed,
 			     VAR_FLAGS_OPTIONAL |
@@ -1351,20 +1337,6 @@ struct reg_table_entry g_registry_table[] = {
 		     CFG_SCAN_AGING_PARAM_MIN,
 		     CFG_SCAN_AGING_PARAM_MAX),
 
-	REG_VARIABLE(CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
-		     struct hdd_config, enable_tx_ldpc,
-		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
-		     CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
-		     CFG_TX_LDPC_ENABLE_FEATURE_MIN,
-		     CFG_TX_LDPC_ENABLE_FEATURE_MAX),
-
-	REG_VARIABLE(CFG_ENABLE_RX_LDPC, WLAN_PARAM_Integer,
-		     struct hdd_config, enable_rx_ldpc,
-		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
-		     CFG_ENABLE_RX_LDPC_DEFAULT,
-		     CFG_ENABLE_RX_LDPC_MIN,
-		     CFG_ENABLE_RX_LDPC_MAX),
-
 	REG_VARIABLE(CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
 		     struct hdd_config, AdHocChannel5G,
 		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3783,7 +3755,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
 	/* Config params obtained from the registry
 	 * To Do: set regulatory information here
 	 */
-	smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
 	smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
 
 	smeConfig->csrConfig.phyMode =
@@ -3955,9 +3926,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
 	/* Scan Results Aging Time out value */
 	smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
 
-	smeConfig->csrConfig.enable_tx_ldpc = pConfig->enable_tx_ldpc;
-	smeConfig->csrConfig.enable_rx_ldpc = pConfig->enable_rx_ldpc;
-
 	smeConfig->csrConfig.isCoalesingInIBSSAllowed =
 		hdd_ctx->config->isCoalesingInIBSSAllowed;
 

+ 1 - 13
core/hdd/src/wlan_hdd_wext.c

@@ -3432,7 +3432,6 @@ int hdd_set_ldpc(struct hdd_adapter *adapter, int value)
 	int ret;
 	QDF_STATUS status;
 	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
-	struct hdd_config *config = hdd_ctx->config;
 	struct mlme_ht_capabilities_info ht_cap_info;
 
 	hdd_debug("%d", value);
@@ -3442,16 +3441,6 @@ int hdd_set_ldpc(struct hdd_adapter *adapter, int value)
 		return -EINVAL;
 	}
 
-	if (value) {
-		/* make sure HT capabilities allow this */
-		if (!config->enable_rx_ldpc) {
-			hdd_err("LDCP not supported");
-			return -EINVAL;
-		}
-	} else if (!config->enable_rx_ldpc) {
-		hdd_err("LDCP is already disabled");
-		return 0;
-	}
 	status = ucfg_mlme_get_ht_cap_info(hdd_ctx->psoc, &ht_cap_info);
 	if (QDF_STATUS_SUCCESS != status) {
 		hdd_err("Failed to get HT capability info");
@@ -3464,8 +3453,7 @@ int hdd_set_ldpc(struct hdd_adapter *adapter, int value)
 		hdd_err("Failed to set HT capability info");
 		return -EIO;
 	}
-	status =
-		ucfg_mlme_cfg_set_vht_ldpc_coding_cap(hdd_ctx->psoc, value);
+	status = ucfg_mlme_cfg_set_vht_ldpc_coding_cap(hdd_ctx->psoc, value);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		hdd_err("Failed to set VHT LDPC capability info");
 		return -EIO;

+ 0 - 8
core/mac/inc/wni_cfg.h

@@ -219,14 +219,6 @@ enum {
 #define WNI_CFG_PRIVACY_ENABLED_STAMAX    1
 #define WNI_CFG_PRIVACY_ENABLED_STADEF    0
 
-#define WNI_CFG_SHORT_PREAMBLE_STAMIN    0
-#define WNI_CFG_SHORT_PREAMBLE_STAMAX    1
-#define WNI_CFG_SHORT_PREAMBLE_STADEF    1
-
-#define WNI_CFG_SHORT_SLOT_TIME_STAMIN    0
-#define WNI_CFG_SHORT_SLOT_TIME_STAMAX    1
-#define WNI_CFG_SHORT_SLOT_TIME_STADEF    1
-
 #define WNI_CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY_STAMIN    0
 #define WNI_CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY_STAMAX    1
 #define WNI_CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY_STADEF    0

+ 1 - 1
core/mac/src/pe/lim/lim_ft.c

@@ -652,7 +652,7 @@ void lim_fill_ft_session(tpAniSirGlobal pMac,
 
 	pftSessionEntry->limCurrentBssCaps = pbssDescription->capabilityInfo;
 	pftSessionEntry->limReassocBssCaps = pbssDescription->capabilityInfo;
-	if (pMac->roam.configParam.shortSlotTime &&
+	if (pMac->mlme_cfg->ht_caps.short_slot_time_enabled &&
 	    SIR_MAC_GET_SHORT_SLOT_TIME(pftSessionEntry->limReassocBssCaps)) {
 		pftSessionEntry->shortSlotTimeSupported = true;
 	}

+ 3 - 1
core/mac/src/pe/lim/lim_ibss_peer_mgmt.c

@@ -31,6 +31,7 @@
 #include "lim_ibss_peer_mgmt.h"
 #include "lim_types.h"
 #include "wlan_mlme_api.h"
+#include "cfg_ucfg_api.h"
 
 /**
  * ibss_peer_find
@@ -1359,7 +1360,8 @@ void lim_ibss_del_bss_rsp(tpAniSirGlobal pMac, void *msg, tpPESession psessionEn
 	/* Change the short slot operating mode to Default (which is 1 for now) so that when IBSS starts next time with Libra
 	 * as originator, it picks up the default. This enables us to remove hard coding of short slot = 1 from lim_apply_configuration
 	 */
-	psessionEntry->shortSlotTimeSupported = WNI_CFG_SHORT_SLOT_TIME_STADEF;
+	psessionEntry->shortSlotTimeSupported =
+		cfg_default(CFG_SHORT_SLOT_TIME_ENABLED);
 
 end:
 	if (pDelBss != NULL)

+ 2 - 2
core/mac/src/pe/lim/lim_utils.c

@@ -5733,8 +5733,8 @@ static QDF_STATUS lim_send_ie(tpAniSirGlobal mac_ctx, uint32_t sme_session_id,
  */
 static inline bool lim_get_rx_ldpc(tpAniSirGlobal mac_ctx, enum channel_enum ch)
 {
-	if (mac_ctx->roam.configParam.rx_ldpc_enable &&
-		wma_is_rx_ldpc_supported_for_channel(WLAN_REG_CH_NUM(ch)))
+	if (mac_ctx->mlme_cfg->ht_caps.ht_cap_info.adv_coding_cap &&
+	    wma_is_rx_ldpc_supported_for_channel(WLAN_REG_CH_NUM(ch)))
 		return true;
 	else
 		return false;

+ 0 - 3
core/sme/inc/csr_api.h

@@ -1050,7 +1050,6 @@ typedef struct tagCsrConfigParam {
 	bool Is11eSupportEnabled;
 	bool Is11dSupportEnabled;
 	bool Is11hSupportEnabled;
-	bool shortSlotTime;
 	bool ProprietaryRatesEnabled;
 	uint8_t AdHocChannel24;
 	uint8_t AdHocChannel5G;
@@ -1134,8 +1133,6 @@ typedef struct tagCsrConfigParam {
 	bool isRoamOffloadScanEnabled;
 	bool bFastRoamInConIniFeatureEnabled;
 	uint8_t scanCfgAgingTime;
-	uint8_t enable_tx_ldpc;
-	uint8_t enable_rx_ldpc;
 	uint8_t disable_high_ht_mcs_2x2;
 	uint32_t ho_delay_for_rx;
 	uint32_t min_delay_btw_roam_scans;

+ 0 - 3
core/sme/inc/csr_internal.h

@@ -411,7 +411,6 @@ struct csr_config {
 	bool Is11eSupportEnabled;
 	bool Is11dSupportEnabled;
 	bool Is11hSupportEnabled;
-	bool shortSlotTime;
 	bool ProprietaryRatesEnabled;
 	bool fenableMCCMode;
 	bool mcc_rts_cts_prot_enable;
@@ -481,8 +480,6 @@ struct csr_config {
 	bool fScanTwice;
 	uint32_t nVhtChannelWidth;
 	bool send_smps_action;
-	uint8_t tx_ldpc_enable;
-	uint8_t rx_ldpc_enable;
 	uint8_t disable_high_ht_mcs_2x2;
 	/*
 	 * Enable/Disable heartbeat offload

+ 0 - 1
core/sme/src/common/sme_api.c

@@ -9881,7 +9881,6 @@ int sme_update_ht_config(mac_handle_t mac_handle, uint8_t sessionId,
 	switch (htCapab) {
 	case WNI_CFG_HT_CAP_INFO_ADVANCE_CODING:
 		pSession->htConfig.ht_rx_ldpc = value;
-		pMac->roam.configParam.rx_ldpc_enable = value;
 		break;
 	case WNI_CFG_HT_CAP_INFO_TX_STBC:
 		pSession->htConfig.ht_tx_stbc = value;

+ 10 - 15
core/sme/src/csr/csr_api_roam.c

@@ -1670,7 +1670,6 @@ static void init_config_param(tpAniSirGlobal pMac)
 	pMac->roam.configParam.Is11dSupportEnabled = false;
 	pMac->roam.configParam.Is11eSupportEnabled = true;
 	pMac->roam.configParam.Is11hSupportEnabled = true;
-	pMac->roam.configParam.shortSlotTime = true;
 	pMac->roam.configParam.WMMSupportMode = eCsrRoamWmmAuto;
 	pMac->roam.configParam.ProprietaryRatesEnabled = true;
 	for (i = 0; i < CSR_NUM_RSSI_CAT; i++)
@@ -2559,7 +2558,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
 			csr_convert_cb_ini_value_to_phy_cb_state(pParam->
 							channelBondingMode5GHz);
 		pMac->roam.configParam.phyMode = pParam->phyMode;
-		pMac->roam.configParam.shortSlotTime = pParam->shortSlotTime;
 		pMac->roam.configParam.HeartbeatThresh24 =
 			pMac->mlme_cfg->timeouts.heart_beat_threshold;
 		pMac->roam.configParam.HeartbeatThresh50 =
@@ -2751,8 +2749,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
 		pMac->roam.configParam.doBMPSWorkaround = 0;
 		pMac->roam.configParam.send_smps_action =
 			pParam->send_smps_action;
-		pMac->roam.configParam.tx_ldpc_enable = pParam->enable_tx_ldpc;
-		pMac->roam.configParam.rx_ldpc_enable = pParam->enable_rx_ldpc;
 		pMac->roam.configParam.disable_high_ht_mcs_2x2 =
 					pParam->disable_high_ht_mcs_2x2;
 		pMac->roam.configParam.ho_delay_for_rx =
@@ -2899,7 +2895,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
 	pParam->channelBondingMode5GHz = csr_convert_phy_cb_state_to_ini_value(
 					cfg_params->channelBondingMode5GHz);
 	pParam->phyMode = cfg_params->phyMode;
-	pParam->shortSlotTime = cfg_params->shortSlotTime;
 	pParam->HeartbeatThresh50 = cfg_params->HeartbeatThresh50;
 	pParam->ProprietaryRatesEnabled = cfg_params->ProprietaryRatesEnabled;
 	pParam->AdHocChannel24 = cfg_params->AdHocChannel24;
@@ -2959,8 +2954,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
 #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
 	pParam->cc_switch_mode = cfg_params->cc_switch_mode;
 #endif
-	pParam->enable_tx_ldpc = cfg_params->tx_ldpc_enable;
-	pParam->enable_rx_ldpc = cfg_params->rx_ldpc_enable;
 	pParam->wep_tkip_in_he = cfg_params->wep_tkip_in_he;
 	pParam->disable_high_ht_mcs_2x2 = cfg_params->disable_high_ht_mcs_2x2;
 	pParam->ho_delay_for_rx = cfg_params->ho_delay_for_rx;
@@ -4292,7 +4285,7 @@ QDF_STATUS csr_roam_prepare_bss_config(tpAniSirGlobal pMac,
 	/* short slot time */
 	if (eCSR_CFG_DOT11_MODE_11B != cfgDot11Mode)
 		pBssConfig->uShortSlotTime =
-			pMac->roam.configParam.shortSlotTime;
+			pMac->mlme_cfg->ht_caps.short_slot_time_enabled;
 	else
 		pBssConfig->uShortSlotTime = 0;
 
@@ -4433,7 +4426,7 @@ QDF_STATUS csr_roam_prepare_bss_config_from_profile(
 	/* short slot time */
 	if (WNI_CFG_PHY_MODE_11B != pBssConfig->uCfgDot11Mode) {
 		pBssConfig->uShortSlotTime =
-			pMac->roam.configParam.shortSlotTime;
+			pMac->mlme_cfg->ht_caps.short_slot_time_enabled;
 	} else {
 		pBssConfig->uShortSlotTime = 0;
 	}
@@ -15542,7 +15535,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
 			csr_join_req->isFastRoamIniFeatureEnabled = false;
 
 		csr_join_req->txLdpcIniFeatureEnabled =
-			(uint8_t) pMac->roam.configParam.tx_ldpc_enable;
+			(uint8_t)pMac->mlme_cfg->ht_caps.tx_ldpc_enable;
 
 		if ((csr_is11h_supported(pMac)) &&
 			(WLAN_REG_IS_5GHZ_CH(pBssDescription->channelId)) &&
@@ -15563,8 +15556,9 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
 		if (eSIR_INFRASTRUCTURE_MODE == csr_join_req->bsstype ||
 		    !policy_mgr_is_dbs_enable(pMac->psoc))
 			csr_set_ldpc_exception(pMac, pSession,
-					pBssDescription->channelId,
-					pMac->roam.configParam.rx_ldpc_enable);
+					       pBssDescription->channelId,
+					       pMac->mlme_cfg->ht_caps.
+					       ht_cap_info.adv_coding_cap);
 		qdf_mem_copy(&csr_join_req->htConfig,
 				&pSession->htConfig, sizeof(tSirHTConfig));
 		qdf_mem_copy(&csr_join_req->vht_config, &pSession->vht_config,
@@ -16422,7 +16416,7 @@ QDF_STATUS csr_send_mb_start_bss_req_msg(tpAniSirGlobal pMac, uint32_t
 	pMsg->wps_state = pParam->wps_state;
 	pMsg->isCoalesingInIBSSAllowed = pMac->isCoalesingInIBSSAllowed;
 	pMsg->bssPersona = pParam->bssPersona;
-	pMsg->txLdpcIniFeatureEnabled = pMac->roam.configParam.tx_ldpc_enable;
+	pMsg->txLdpcIniFeatureEnabled = pMac->mlme_cfg->ht_caps.tx_ldpc_enable;
 
 	/*
 	 * If RX LDPC has been disabled for 2.4GHz channels and enabled
@@ -16432,8 +16426,9 @@ QDF_STATUS csr_send_mb_start_bss_req_msg(tpAniSirGlobal pMac, uint32_t
 	if (eSIR_IBSS_MODE == pMsg->bssType ||
 		!policy_mgr_is_dbs_enable(pMac->psoc))
 		csr_set_ldpc_exception(pMac, pSession,
-				pMsg->channelId,
-				pMac->roam.configParam.rx_ldpc_enable);
+				       pMsg->channelId,
+				       pMac->mlme_cfg->ht_caps.
+				       ht_cap_info.adv_coding_cap);
 
 	qdf_mem_copy(&pMsg->vht_config,
 		     &pSession->vht_config,