Browse Source

qcacld-3.0: Apply second part of LFR INIs changes

Since refined second part of LFR INIs, apply these changes in
SME/MAC/WMA layer.

Change-Id: I7994a9038d5bd094ce23bcd525ef8f5282974bfc
CRs-Fixed: 2346790
Wu Gao 6 years ago
parent
commit
51a6356b60

+ 0 - 2
core/cds/inc/cds_config.h

@@ -101,7 +101,6 @@ enum active_apf_mode {
  * @force_target_assert_enabled: Indicate whether target assert enabled or not
  * @bandcapability: Configured band by user
  * @rps_enabled: RPS enabled in SAP mode
- * @delay_before_vdev_stop: wait time for tx complete before vdev stop
  * Structure for holding cds ini parameters.
  * @num_vdevs: Configured max number of VDEVs can be supported in the stack.
  */
@@ -151,7 +150,6 @@ struct cds_config_info {
 	bool force_target_assert_enabled;
 	uint8_t bandcapability;
 	bool rps_enabled;
-	uint8_t delay_before_vdev_stop;
 	uint32_t num_vdevs;
 };
 

+ 1 - 1
core/mac/inc/sir_mac_prot_def.h

@@ -628,7 +628,7 @@
 	((u16value) &= (~(SIR_MAC_SET_ ## bitname(0))))
 
 #define IS_WES_MODE_ENABLED(x) \
-	((x)->roam.configParam.isWESModeEnabled)
+	((x)->mlme_cfg->lfr.wes_mode_enabled)
 
 #define BA_RECIPIENT       1
 #define BA_INITIATOR       2

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

@@ -81,7 +81,7 @@ static void get_ese_version_ie_probe_response(tpAniSirGlobal mac_ctx,
 					tpSirProbeRespBeacon beacon_struct,
 					struct pe_session *session)
 {
-	if (mac_ctx->roam.configParam.isEseIniFeatureEnabled)
+	if (mac_ctx->mlme_cfg->lfr.ese_enabled)
 		session->is_ese_version_ie_present =
 			beacon_struct->is_ese_ver_ie_present;
 }

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

@@ -230,7 +230,7 @@ void lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx,
 	 * associate to.
 	 */
 	if (pe_session->is_ese_version_ie_present &&
-		mac_ctx->roam.configParam.isEseIniFeatureEnabled)
+		mac_ctx->mlme_cfg->lfr.ese_enabled)
 		populate_dot11f_ese_version(&frm->ESEVersion);
 	/* For ESE Associations fill the ESE IEs */
 	if (pe_session->isESEconnection &&

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

@@ -1893,7 +1893,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
 	 * associate to.
 	 */
 	if (pe_session->is_ese_version_ie_present &&
-		mac_ctx->roam.configParam.isEseIniFeatureEnabled)
+		mac_ctx->mlme_cfg->lfr.ese_enabled)
 		populate_dot11f_ese_version(&frm->ESEVersion);
 	/* For ESE Associations fill the ESE IEs */
 	if (pe_session->isESEconnection &&

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

@@ -964,30 +964,6 @@ typedef struct tagCsrRoamConnectedProfile {
 #endif
 } tCsrRoamConnectedProfile;
 
-typedef struct tagCsrNeighborRoamConfigParams {
-
-	uint32_t nNeighborScanTimerPeriod;
-	uint32_t neighbor_scan_min_timer_period;
-	uint8_t nNeighborLookupRssiThreshold;
-	int8_t rssi_thresh_offset_5g;
-	uint16_t nNeighborScanMinChanTime;
-	uint16_t nNeighborScanMaxChanTime;
-	sCsrChannel neighborScanChanList;
-	uint8_t nMaxNeighborRetries;
-	uint16_t nNeighborResultsRefreshPeriod;
-	uint16_t nEmptyScanRefreshPeriod;
-	uint8_t nOpportunisticThresholdDiff;
-	uint8_t nRoamRescanRssiDiff;
-	uint8_t nRoamBmissFirstBcnt;
-	uint8_t nRoamBmissFinalBcnt;
-	uint8_t nRoamBeaconRssiWeight;
-	uint8_t delay_before_vdev_stop;
-	uint32_t nhi_rssi_scan_max_count;
-	uint32_t nhi_rssi_scan_rssi_delta;
-	uint32_t nhi_rssi_scan_delay;
-	int32_t nhi_rssi_scan_rssi_ub;
-} tCsrNeighborRoamConfigParams;
-
 /**
  * enum sta_roam_policy_dfs_mode - state of DFS mode for STA ROME policy
  * @CSR_STA_ROAM_POLICY_NONE: DFS mode attribute is not valid
@@ -1102,10 +1078,6 @@ typedef struct tagCsrConfigParam {
 #endif
 	uint8_t isFastRoamIniFeatureEnabled;
 	struct mawc_params csr_mawc_config;
-	uint8_t isFastTransitionEnabled;
-	uint8_t RoamRssiDiff;
-	bool isWESModeEnabled;
-	tCsrNeighborRoamConfigParams neighborRoamConfig;
 	/*
 	 * Customer wants to optimize the scan time. Avoiding scans(passive)
 	 * on DFS channels while swipping through both bands can save some time
@@ -1124,13 +1096,7 @@ typedef struct tagCsrConfigParam {
 	 * To enable/disable scanning only 2.4Ghz channels on first scan
 	 */
 	bool fFirstScanOnly2GChnl;
-	bool nRoamPrefer5GHz;
-	bool nRoamIntraBand;
-	uint8_t nProbes;
-	uint16_t nRoamScanHomeAwayTime;
 
-	bool isRoamOffloadScanEnabled;
-	bool bFastRoamInConIniFeatureEnabled;
 	uint8_t scanCfgAgingTime;
 	uint8_t disable_high_ht_mcs_2x2;
 	uint32_t ho_delay_for_rx;

+ 5 - 43
core/sme/inc/csr_internal.h

@@ -60,7 +60,8 @@
 #define CSR_MAX_NUM_COUNTRY_CODE  100
 #define CSR_IS_DFS_CH_ROAM_ALLOWED(mac_ctx) \
 	( \
-	  (((mac_ctx)->roam.configParam.allowDFSChannelRoam) ? true : false) \
+	  ((((mac_ctx)->mlme_cfg->lfr.roaming_dfs_channel) == \
+	    ROAMING_DFS_CHANNEL_DISABLED) ? true : false) \
 	)
 #define CSR_IS_SELECT_5GHZ_MARGIN(mac) \
 	( \
@@ -68,16 +69,15 @@
 	)
 #define CSR_IS_ROAM_PREFER_5GHZ(mac)	\
 	( \
-	  (((mac)->roam.configParam.nRoamPrefer5GHz) ? true : false) \
+	  ((mac)->mlme_cfg->lfr.roam_prefer_5ghz) \
 	)
 #define CSR_IS_ROAM_INTRA_BAND_ENABLED(mac) \
 	( \
-	  (((mac)->roam.configParam.nRoamIntraBand) ? true : false) \
+	  ((mac)->mlme_cfg->lfr.roam_intra_band) \
 	)
 #define CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac) \
 	( \
-	  (((mac)->roam.configParam.bFastRoamInConIniFeatureEnabled) ? \
-		true : false) \
+	  ((mac)->mlme_cfg->lfr.enable_fast_roam_in_concurrency) \
 	)
 #define CSR_IS_CHANNEL_24GHZ(chnNum) \
 	(((chnNum) > 0) && ((chnNum) <= 14))
@@ -365,29 +365,6 @@ struct delstafor_sessionCmd {
 	void *context;
 };
 
-struct csr_neighbor_roamconfig {
-	uint32_t nNeighborScanTimerPeriod;
-	uint32_t neighbor_scan_min_timer_period;
-	uint8_t nNeighborLookupRssiThreshold;
-	int8_t rssi_thresh_offset_5g;
-	uint16_t nNeighborScanMinChanTime;
-	uint16_t nNeighborScanMaxChanTime;
-	sCsrChannel neighborScanChanList;
-	uint8_t nMaxNeighborRetries;
-	uint16_t nNeighborResultsRefreshPeriod;
-	uint16_t nEmptyScanRefreshPeriod;
-	uint8_t nOpportunisticThresholdDiff;
-	uint8_t nRoamRescanRssiDiff;
-	uint8_t nRoamBmissFirstBcnt;
-	uint8_t nRoamBmissFinalBcnt;
-	uint8_t nRoamBeaconRssiWeight;
-	uint8_t delay_before_vdev_stop;
-	uint32_t nhi_rssi_scan_max_count;
-	uint32_t nhi_rssi_scan_rssi_delta;
-	uint32_t nhi_rssi_scan_delay;
-	int32_t nhi_rssi_scan_rssi_ub;
-};
-
 /*
  * Neighbor Report Params Bitmask
  */
@@ -452,23 +429,9 @@ struct csr_config {
 	uint32_t statsReqPeriodicityInPS;/* stats req freq while in powersave */
 	uint32_t dtimPeriod;
 	bool ssidHidden;
-	uint8_t isFastRoamIniFeatureEnabled;
 	struct mawc_params csr_mawc_config;
 	uint8_t isRoamOffloadScanEnabled;
-	bool bFastRoamInConIniFeatureEnabled;
-#ifdef FEATURE_WLAN_ESE
-	uint8_t isEseIniFeatureEnabled;
-#endif
-	uint8_t isFastTransitionEnabled;
-	uint8_t RoamRssiDiff;
-	bool nRoamPrefer5GHz;
-	bool nRoamIntraBand;
-	bool isWESModeEnabled;
 	bool nRoamScanControl;
-	uint8_t nProbes;
-	uint16_t nRoamScanHomeAwayTime;
-
-	struct csr_neighbor_roamconfig neighborRoamConfig;
 
 	/*
 	 * Remove this code once SLM_Sessionization is supported
@@ -491,7 +454,6 @@ struct csr_config {
 #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
 	uint8_t cc_switch_mode;
 #endif
-	uint8_t allowDFSChannelRoam;
 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
 	bool isRoamOffloadEnabled;
 #endif

+ 0 - 22
core/sme/inc/sme_api.h

@@ -770,10 +770,6 @@ QDF_STATUS sme_set_tm_level(mac_handle_t mac_handle, uint16_t newTMLevel,
 void sme_feature_caps_exchange(mac_handle_t mac_handle);
 void sme_disable_feature_capablity(uint8_t feature_index);
 void sme_reset_power_values_for5_g(mac_handle_t mac_handle);
-QDF_STATUS sme_update_roam_prefer5_g_hz(mac_handle_t mac_handle,
-					bool nRoamPrefer5GHz);
-QDF_STATUS sme_set_roam_intra_band(mac_handle_t mac_handle,
-				   const bool nRoamIntraBand);
 QDF_STATUS sme_update_roam_scan_n_probes(mac_handle_t mac_handle,
 					 uint8_t sessionId,
 					 const uint8_t nProbes);
@@ -802,15 +798,11 @@ QDF_STATUS sme_update_is_fast_roam_ini_feature_enabled(mac_handle_t mac_handle,
 QDF_STATUS sme_config_fast_roaming(mac_handle_t mac_handle, uint8_t session_id,
 				   const bool is_fast_roam_enabled);
 
-QDF_STATUS sme_update_is_mawc_ini_feature_enabled(mac_handle_t mac_handle,
-		const bool MAWCEnabled);
 QDF_STATUS sme_stop_roaming(mac_handle_t mac_handle, uint8_t sessionId,
 			    uint8_t reason);
 
 QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId,
 		uint8_t reason);
-QDF_STATUS sme_update_enable_fast_roam_in_concurrency(mac_handle_t mac_handle,
-		bool bFastRoamInConIniFeatureEnabled);
 #ifdef FEATURE_WLAN_ESE
 QDF_STATUS sme_update_is_ese_feature_enabled(mac_handle_t mac_handle,
 					     uint8_t sessionId,
@@ -828,8 +820,6 @@ QDF_STATUS sme_set_roam_opportunistic_scan_threshold_diff(
 uint8_t sme_get_roam_opportunistic_scan_threshold_diff(mac_handle_t mac_handle);
 QDF_STATUS sme_set_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle,
 		uint8_t sessionId, uint8_t neighborLookupRssiThreshold);
-QDF_STATUS sme_set_delay_before_vdev_stop(mac_handle_t mac_handle,
-		uint8_t sessionId, uint8_t delay_before_vdev_stop);
 uint8_t sme_get_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle);
 QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle,
 		uint8_t sessionId, uint16_t neighborScanResultsRefreshPeriod);
@@ -868,14 +858,9 @@ QDF_STATUS sme_set_neighbor_scan_min_period(mac_handle_t mac_handle,
 		uint8_t session_id, const uint16_t neighbor_scan_min_period);
 QDF_STATUS sme_set_roam_bmiss_first_bcnt(mac_handle_t mac_handle,
 		uint8_t sessionId, const uint8_t nRoamBmissFirstBcnt);
-uint8_t sme_get_roam_bmiss_first_bcnt(mac_handle_t mac_handle);
 QDF_STATUS sme_set_roam_bmiss_final_bcnt(mac_handle_t mac_handle,
 					 uint8_t sessionId,
 					 const uint8_t nRoamBmissFinalBcnt);
-uint8_t sme_get_roam_bmiss_final_bcnt(mac_handle_t mac_handle);
-QDF_STATUS sme_set_roam_beacon_rssi_weight(mac_handle_t mac_handle,
-					   uint8_t sessionId,
-					   const uint8_t nRoamBeaconRssiWeight);
 uint8_t sme_get_roam_beacon_rssi_weight(mac_handle_t mac_handle);
 uint8_t sme_get_roam_rssi_diff(mac_handle_t mac_handle);
 QDF_STATUS sme_change_roam_scan_channel_list(mac_handle_t mac_handle,
@@ -895,8 +880,6 @@ bool sme_get_wes_mode(mac_handle_t mac_handle);
 bool sme_get_roam_scan_control(mac_handle_t mac_handle);
 bool sme_get_is_lfr_feature_enabled(mac_handle_t mac_handle);
 bool sme_get_is_ft_feature_enabled(mac_handle_t mac_handle);
-QDF_STATUS sme_update_roam_scan_offload_enabled(mac_handle_t mac_handle,
-		bool nRoamScanOffloadEnabled);
 bool sme_is_feature_supported_by_fw(enum cap_bitmap feature);
 
 QDF_STATUS sme_set_phy_mode(mac_handle_t mac_handle, eCsrPhyMode phyMode);
@@ -1501,11 +1484,6 @@ QDF_STATUS sme_handle_set_fcc_channel(mac_handle_t mac_handle,
 				      bool fcc_constraint,
 				      bool scan_pending);
 
-QDF_STATUS sme_update_roam_scan_hi_rssi_scan_params(mac_handle_t mac_handle,
-						    uint8_t session_id,
-						    uint32_t notify_id,
-						    int32_t val);
-
 /**
  * sme_update_tx_bfee_supp() - sets the Tx Bfee support
  * @mac_handle: Opaque handle to the global MAC context

File diff suppressed because it is too large
+ 76 - 488
core/sme/src/common/sme_api.c


+ 68 - 165
core/sme/src/csr/csr_api_roam.c

@@ -1695,32 +1695,7 @@ static void init_config_param(tpAniSirGlobal mac)
 		CSR_MIN_GLOBAL_STAT_QUERY_PERIOD;
 	mac->roam.configParam.statsReqPeriodicityInPS =
 		CSR_MIN_GLOBAL_STAT_QUERY_PERIOD_IN_BMPS;
-	mac->roam.configParam.neighborRoamConfig.nMaxNeighborRetries = 3;
-	mac->roam.configParam.neighborRoamConfig.nNeighborLookupRssiThreshold =
-		120;
-	mac->roam.configParam.neighborRoamConfig.nOpportunisticThresholdDiff =
-		30;
-	mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff = 5;
-	mac->roam.configParam.neighborRoamConfig.nNeighborScanMinChanTime = 20;
-	mac->roam.configParam.neighborRoamConfig.nNeighborScanMaxChanTime = 40;
-	mac->roam.configParam.neighborRoamConfig.nNeighborScanTimerPeriod =
-		200;
-	mac->roam.configParam.neighborRoamConfig.
-		neighbor_scan_min_timer_period = 200;
-	mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
-	numChannels = 3;
-	mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
-	channelList[0] = 1;
-	mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
-	channelList[1] = 6;
-	mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
-	channelList[2] = 11;
-	mac->roam.configParam.neighborRoamConfig.nNeighborResultsRefreshPeriod
-						= 20000;        /* 20 seconds */
-	mac->roam.configParam.neighborRoamConfig.nEmptyScanRefreshPeriod = 0;
-	mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt = 10;
-	mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt = 10;
-	mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight = 14;
+
 	mac->roam.configParam.nVhtChannelWidth =
 		WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ + 1;
 
@@ -1732,7 +1707,6 @@ static void init_config_param(tpAniSirGlobal mac)
 
 	mac->roam.configParam.nInitialDwellTime = 0;
 	mac->roam.configParam.initial_scan_no_dfs_chnl = 0;
-	mac->roam.configParam.csr_mawc_config.mawc_enabled = true;
 }
 
 enum band_info csr_get_current_band(struct mac_context *mac)
@@ -1934,7 +1908,7 @@ bool csr_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint32_t session_id)
  */
 bool csr_roam_is_ese_ini_feature_enabled(tpAniSirGlobal mac)
 {
-	return mac->roam.configParam.isEseIniFeatureEnabled;
+	return mac->mlme_cfg->lfr.ese_enabled;
 }
 
 /**
@@ -2104,8 +2078,9 @@ csr_fetch_ch_lst_from_received_list(tpAniSirGlobal mac_ctx,
 
 	ch_lst = curr_ch_lst_info->ChannelList;
 	for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) {
-		if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
-		    (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
+		if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
+			 ROAMING_DFS_CHANNEL_DISABLED) ||
+		     (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
 			 CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
 		     (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
@@ -2221,7 +2196,7 @@ QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal mac, uint8_t *pTimestamp,
  */
 bool csr_roam_is_roam_offload_scan_enabled(tpAniSirGlobal mac_ctx)
 {
-	return mac_ctx->roam.configParam.isRoamOffloadScanEnabled;
+	return mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled;
 }
 
 /* The funcns csr_convert_cb_ini_value_to_phy_cb_state and
@@ -2493,7 +2468,7 @@ csr_copy_mawc_config(tpAniSirGlobal mac,
 		     struct mawc_params *mawc_config)
 {
 	mawc_config->mawc_enabled =
-		mac->roam.configParam.csr_mawc_config.mawc_enabled;
+		mac->mlme_cfg->lfr.mawc_enabled;
 	mawc_config->mawc_roam_enabled =
 		mac->mlme_cfg->lfr.mawc_roam_enabled;
 	mawc_config->mawc_roam_traffic_threshold =
@@ -2566,9 +2541,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac,
 		mac->roam.configParam.AdHocChannel24 = pParam->AdHocChannel24;
 		mac->roam.configParam.AdHocChannel5G = pParam->AdHocChannel5G;
 		mac->roam.configParam.wep_tkip_in_he = pParam->wep_tkip_in_he;
-		mac->roam.configParam.neighborRoamConfig.
-			delay_before_vdev_stop =
-			pParam->neighborRoamConfig.delay_before_vdev_stop;
 
 		/* if HDD passed down non zero values then only update, */
 		/* otherwise keep using the defaults */
@@ -2649,84 +2621,44 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac,
 				!wlan_reg_11d_enabled_on_host(mac->psoc))
 			csr_init_channel_power_list(mac, &pParam->Csr11dinfo);
 
-		mac->roam.configParam.isFastTransitionEnabled =
-			pParam->isFastTransitionEnabled;
-		mac->roam.configParam.RoamRssiDiff = pParam->RoamRssiDiff;
-		mac->roam.configParam.nRoamPrefer5GHz =
-			pParam->nRoamPrefer5GHz;
-		mac->roam.configParam.nRoamIntraBand = pParam->nRoamIntraBand;
-		mac->roam.configParam.isWESModeEnabled =
-			pParam->isWESModeEnabled;
-		mac->roam.configParam.nProbes = pParam->nProbes;
-		mac->roam.configParam.nRoamScanHomeAwayTime =
-			pParam->nRoamScanHomeAwayTime;
-		mac->roam.configParam.isRoamOffloadScanEnabled =
-			pParam->isRoamOffloadScanEnabled;
-		mac->roam.configParam.bFastRoamInConIniFeatureEnabled =
-			pParam->bFastRoamInConIniFeatureEnabled;
-		mac->roam.configParam.isFastRoamIniFeatureEnabled =
-			pParam->isFastRoamIniFeatureEnabled;
-		mac->roam.configParam.csr_mawc_config.mawc_enabled =
-			pParam->csr_mawc_config.mawc_enabled;
-#ifdef FEATURE_WLAN_ESE
-		mac->roam.configParam.isEseIniFeatureEnabled =
-			pParam->isEseIniFeatureEnabled;
-#endif
-		qdf_mem_copy(&mac->roam.configParam.neighborRoamConfig,
-			     &pParam->neighborRoamConfig,
-			     sizeof(tCsrNeighborRoamConfigParams));
-		sme_debug("nNeighborScanTimerPerioid: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nNeighborScanTimerPeriod);
+		sme_debug("neighbor_scan_timer_period: %d",
+			  mac->mlme_cfg->lfr.neighbor_scan_timer_period);
 		sme_debug("neighbor_scan_min_timer_period: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			neighbor_scan_min_timer_period);
-		sme_debug("nNeighborLookupRssiThreshold: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nNeighborLookupRssiThreshold);
-		sme_debug("nOpportunisticThresholdDiff: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nOpportunisticThresholdDiff);
-		sme_debug("nRoamRescanRssiDiff: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nRoamRescanRssiDiff);
-		sme_debug("nNeighborScanMinChanTime: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nNeighborScanMinChanTime);
-		sme_debug("nNeighborScanMaxChanTime: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nNeighborScanMaxChanTime);
-		sme_debug("nNeighborResultsRefreshPeriod: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nNeighborResultsRefreshPeriod);
-		sme_debug("nEmptyScanRefreshPeriod: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nEmptyScanRefreshPeriod);
+			  mac->mlme_cfg->lfr.neighbor_scan_min_timer_period);
+		sme_debug("neighbor_lookup_rssi_threshold: %d",
+			  mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold);
+		sme_debug("opportunistic_scan_threshold_diff: %d",
+			  mac->mlme_cfg->lfr.
+			  opportunistic_scan_threshold_diff);
+		sme_debug("roam_rescan_rssi_diff: %d",
+			  mac->mlme_cfg->lfr.roam_rescan_rssi_diff);
+		sme_debug("neighbor_scan_min_chan_time: %d",
+			  mac->mlme_cfg->lfr.neighbor_scan_min_chan_time);
+		sme_debug("neighbor_scan_max_chan_time: %d",
+			  mac->mlme_cfg->lfr.neighbor_scan_max_chan_time);
+		sme_debug("neighbor_scan_results_refresh_period: %d",
+			  mac->mlme_cfg->lfr.
+			  neighbor_scan_results_refresh_period);
+		sme_debug("empty_scan_refresh_period: %d",
+			  mac->mlme_cfg->lfr.empty_scan_refresh_period);
 		{
 			int i;
 
 			sme_debug("Num of Channels in CFG Channel List: %d",
-				mac->roam.configParam.neighborRoamConfig.
-				neighborScanChanList.numChannels);
-			for (i = 0;
-			     i <
-			     mac->roam.configParam.neighborRoamConfig.
-			     neighborScanChanList.numChannels; i++) {
-				sme_debug("%d ",
-					mac->roam.configParam.
-					neighborRoamConfig.neighborScanChanList.
-					channelList[i]);
+				  mac->mlme_cfg->lfr.
+				  neighbor_scan_channel_list_num);
+			for (i = 0; i < mac->mlme_cfg->lfr.
+			     neighbor_scan_channel_list_num; i++) {
+				sme_debug("%d ", mac->mlme_cfg->lfr.
+					  neighbor_scan_channel_list[i]);
 			}
 		}
-		sme_debug("nRoamBmissFirstBcnt: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nRoamBmissFirstBcnt);
-		sme_debug("nRoamBmissFinalBcnt: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nRoamBmissFinalBcnt);
-		sme_debug("nRoamBeaconRssiWeight: %d",
-			mac->roam.configParam.neighborRoamConfig.
-			nRoamBeaconRssiWeight);
+		sme_debug("roam_bmiss_first_bcnt: %d",
+			  mac->mlme_cfg->lfr.roam_bmiss_first_bcnt);
+		sme_debug("roam_bmiss_final_bcnt: %d",
+			  mac->mlme_cfg->lfr.roam_bmiss_final_bcnt);
+		sme_debug("roam_beacon_rssi_weight: %d",
+			  mac->mlme_cfg->lfr.roam_beacon_rssi_weight);
 		mac->scan.fEnableDFSChnlScan = pParam->fEnableDFSChnlScan;
 		mac->scan.scanResultCfgAgingTime = pParam->scanCfgAgingTime;
 		mac->roam.configParam.fScanTwice = pParam->fScanTwice;
@@ -2759,8 +2691,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac,
 #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
 		mac->roam.configParam.cc_switch_mode = pParam->cc_switch_mode;
 #endif
-		mac->roam.configParam.allowDFSChannelRoam =
-			pParam->allowDFSChannelRoam;
 		mac->roam.configParam.obssEnabled = pParam->obssEnabled;
 		mac->roam.configParam.vendor_vht_sap =
 			pParam->vendor_vht_sap;
@@ -2916,36 +2846,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal mac, tCsrConfigParam *pParam)
 	pParam->fEnableMCCMode = cfg_params->fenableMCCMode;
 	pParam->fAllowMCCGODiffBI = cfg_params->fAllowMCCGODiffBI;
 	pParam->scanCfgAgingTime = mac->scan.scanResultCfgAgingTime;
-	qdf_mem_copy(&pParam->neighborRoamConfig,
-		     &cfg_params->neighborRoamConfig,
-		     sizeof(tCsrNeighborRoamConfigParams));
-	pParam->isFastTransitionEnabled = cfg_params->isFastTransitionEnabled;
-	pParam->RoamRssiDiff = cfg_params->RoamRssiDiff;
-	pParam->nRoamPrefer5GHz = cfg_params->nRoamPrefer5GHz;
-	pParam->nRoamIntraBand = cfg_params->nRoamIntraBand;
-	pParam->isWESModeEnabled = cfg_params->isWESModeEnabled;
-	pParam->nProbes = cfg_params->nProbes;
-	pParam->nRoamScanHomeAwayTime = cfg_params->nRoamScanHomeAwayTime;
-	pParam->isRoamOffloadScanEnabled = cfg_params->isRoamOffloadScanEnabled;
-	pParam->bFastRoamInConIniFeatureEnabled =
-		cfg_params->bFastRoamInConIniFeatureEnabled;
-	pParam->isFastRoamIniFeatureEnabled =
-		cfg_params->isFastRoamIniFeatureEnabled;
-#ifdef FEATURE_WLAN_ESE
-	pParam->isEseIniFeatureEnabled = cfg_params->isEseIniFeatureEnabled;
-#endif
-	qdf_mem_copy(&pParam->neighborRoamConfig,
-		     &cfg_params->neighborRoamConfig,
-		     sizeof(tCsrNeighborRoamConfigParams));
-	sme_debug("Num of Channels in CFG Channel List: %d",
-		cfg_params->neighborRoamConfig.
-		neighborScanChanList.numChannels);
-	for (i = 0; i < cfg_params->neighborRoamConfig.
-	     neighborScanChanList.numChannels; i++) {
-		sme_debug("%d ",
-			cfg_params->neighborRoamConfig.
-			neighborScanChanList.channelList[i]);
-	}
 
 #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
 	pParam->cc_switch_mode = cfg_params->cc_switch_mode;
@@ -2957,7 +2857,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal mac, tCsrConfigParam *pParam)
 	pParam->roam_trigger_reason_bitmask =
 			cfg_params->roam_trigger_reason_bitmask;
 	pParam->isCoalesingInIBSSAllowed = cfg_params->isCoalesingInIBSSAllowed;
-	pParam->allowDFSChannelRoam = cfg_params->allowDFSChannelRoam;
 	pParam->nInitialDwellTime = cfg_params->nInitialDwellTime;
 	pParam->initial_scan_no_dfs_chnl = cfg_params->initial_scan_no_dfs_chnl;
 	csr_set_channels(mac, pParam);
@@ -6363,9 +6262,9 @@ bool csr_roam_is_fast_roam_enabled(tpAniSirGlobal mac, uint32_t sessionId)
 		}
 	}
 	if (true == CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac)) {
-		return mac->roam.configParam.isFastRoamIniFeatureEnabled;
+		return mac->mlme_cfg->lfr.lfr_enabled;
 	} else {
-		return mac->roam.configParam.isFastRoamIniFeatureEnabled &&
+		return mac->mlme_cfg->lfr.lfr_enabled &&
 			(!csr_is_concurrent_session_running(mac));
 	}
 }
@@ -8973,9 +8872,10 @@ QDF_STATUS csr_roam_save_connected_information(tpAniSirGlobal mac,
 							   &pIesTemp);
 #ifdef FEATURE_WLAN_ESE
 	if ((csr_is_profile_ese(pProfile) ||
-	     (QDF_IS_STATUS_SUCCESS(status) && (pIesTemp->ESEVersion.present)
-	      && (pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM)))
-	    && (mac->roam.configParam.isEseIniFeatureEnabled)) {
+	     (QDF_IS_STATUS_SUCCESS(status) &&
+	      (pIesTemp->ESEVersion.present) &&
+	      (pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM))) &&
+	    (mac->mlme_cfg->lfr.ese_enabled)) {
 		pConnectProfile->isESEAssoc = 1;
 	}
 #endif
@@ -15453,7 +15353,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal mac, uint32_t sessionId,
 					(pProfile->negotiatedMCEncryptionType);
 	csr_set_mgmt_enc_type(pProfile, pIes, csr_join_req);
 #ifdef FEATURE_WLAN_ESE
-		ese_config =  mac->roam.configParam.isEseIniFeatureEnabled;
+		ese_config =  mac->mlme_cfg->lfr.ese_enabled;
 #endif
 		pProfile->MDID.mdiePresent = pBssDescription->mdiePresent;
 		if (csr_is_profile11r(mac, pProfile)
@@ -17781,7 +17681,7 @@ csr_update_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
 	qdf_mem_copy(req_buf->R0KH_ID,
 		     session->ftSmeContext.r0kh_id,
 		     req_buf->R0KH_ID_Length);
-	req_buf->Prefer5GHz = mac_ctx->roam.configParam.nRoamPrefer5GHz;
+	req_buf->Prefer5GHz = (uint8_t)mac_ctx->mlme_cfg->lfr.roam_prefer_5ghz;
 	req_buf->RoamRssiCatGap = mac_ctx->roam.configParam.bCatRssiOffset;
 	req_buf->Select5GHzMargin = mac_ctx->mlme_cfg->gen.select_5ghz_margin;
 	req_buf->ho_delay_for_rx = mac_ctx->roam.configParam.ho_delay_for_rx;
@@ -17880,10 +17780,11 @@ csr_fetch_ch_lst_from_ini(tpAniSirGlobal mac_ctx,
 		if (!csr_check_band_channel_match(band, *ch_lst))
 			continue;
 		/* Allow DFS channels only if the DFS roaming is enabled */
-		if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
-		    (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
+		if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
+			 ROAMING_DFS_CHANNEL_DISABLED) ||
+		     (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
 			 CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
-		     (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
+		    (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
 				("ignoring dfs channel %d"), *ch_lst);
 			ch_lst++;
@@ -17961,10 +17862,11 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx,
 			 sizeof(unsafe_chan));
 	for (i = 0; i < mac_ctx->scan.occupiedChannels[session_id].numChannels;
 	     i++) {
-		if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
-		    (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
+		if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
+			 ROAMING_DFS_CHANNEL_DISABLED) ||
+		     (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
 			 CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
-		     (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
+		    (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
 				("ignoring dfs channel %d"), *ch_lst);
 			ch_lst++;
@@ -17995,7 +17897,7 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx,
 		if (*ch_lst)
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
 				"DFSRoam=%d, ChnlState=%d, Chnl=%d, num_ch=%d",
-				mac_ctx->roam.configParam.allowDFSChannelRoam,
+				mac_ctx->mlme_cfg->lfr.roaming_dfs_channel,
 				wlan_reg_get_channel_state(mac_ctx->pdev,
 					*ch_lst),
 				*ch_lst,
@@ -18070,10 +17972,11 @@ csr_fetch_valid_ch_lst(tpAniSirGlobal mac_ctx,
 			continue;
 		}
 
-		if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
-		    (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
+		if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
+			 ROAMING_DFS_CHANNEL_DISABLED) ||
+		     (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
 			 CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
-		     (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
+		    (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
 				("ignoring dfs channel %d"), *ch_lst);
 			ch_lst++;
@@ -18175,7 +18078,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
 			roam_info->b_roam_scan_offload_started;
 	} else {
 		req_buf->RoamScanOffloadEnabled =
-			mac_ctx->roam.configParam.isRoamOffloadScanEnabled;
+			mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled;
 	}
 	qdf_mem_copy(req_buf->ConnectedNetwork.currAPbssid,
 		     roam_info->currAPbssid.bytes, sizeof(struct qdf_mac_addr));
@@ -18206,7 +18109,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
 		roam_info->cfgParams.nOpportunisticThresholdDiff;
 	req_buf->RoamRescanRssiDiff =
 		roam_info->cfgParams.nRoamRescanRssiDiff;
-	req_buf->RoamRssiDiff = mac_ctx->roam.configParam.RoamRssiDiff;
+	req_buf->RoamRssiDiff = mac_ctx->mlme_cfg->lfr.roam_rssi_diff;
 	req_buf->rssi_abs_thresh =
 		mac_ctx->mlme_cfg->lfr.roam_rssi_abs_threshold;
 	req_buf->reason = reason;
@@ -18322,8 +18225,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
 		mac_ctx->roam.roamSession[session_id].
 		connectedProfile.MDID.mobilityDomain;
 	req_buf->sessionId = session_id;
-	req_buf->nProbes = mac_ctx->roam.configParam.nProbes;
-	req_buf->HomeAwayTime = mac_ctx->roam.configParam.nRoamScanHomeAwayTime;
+	req_buf->nProbes = mac_ctx->mlme_cfg->lfr.roam_scan_n_probes;
+	req_buf->HomeAwayTime = mac_ctx->mlme_cfg->lfr.roam_scan_home_away_time;
 
 	/*
 	 * Home Away Time should be at least equal to (MaxDwell time + (2*RFS)),
@@ -18344,8 +18247,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
 	dot11_mode = (uint8_t) csr_translate_to_wni_cfg_dot11_mode(mac_ctx,
 				csr_find_best_phy_mode(mac_ctx,
 					mac_ctx->roam.configParam.phyMode));
-	req_buf->allowDFSChannelRoam =
-	mac_ctx->roam.configParam.allowDFSChannelRoam;
+	req_buf->allowDFSChannelRoam = (eSirDFSRoamScanMode)
+	mac_ctx->mlme_cfg->lfr.roaming_dfs_channel;
 	req_buf->early_stop_scan_enable =
 		mac_ctx->mlme_cfg->lfr.early_stop_scan_enable;
 	req_buf->early_stop_scan_min_threshold =
@@ -18797,8 +18700,8 @@ static void ese_populate_addtional_ies(tpAniSirGlobal mac_ctx,
 
 	tspec_ie = (ese_wmm_tspec_ie *)(tspec_ie_buf + SIR_MAC_OUI_WME_HDR_MIN);
 	if (csr_is_wmm_supported(mac_ctx) &&
-		mac_ctx->roam.configParam.isEseIniFeatureEnabled &&
-		csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) {
+	    mac_ctx->mlme_cfg->lfr.ese_enabled &&
+	    csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) {
 		ese_tspec.numTspecs = sme_qos_ese_retrieve_tspec_info(mac_ctx,
 					session->sessionId,
 					(tTspecInfo *) &ese_tspec.tspec[0]);
@@ -18883,7 +18786,7 @@ static void csr_update_driver_assoc_ies(tpAniSirGlobal mac_ctx,
 
 #ifdef FEATURE_WLAN_ESE
 	/* Append ESE version IE if isEseIniFeatureEnabled INI is enabled */
-	if (mac_ctx->roam.configParam.isEseIniFeatureEnabled)
+	if (mac_ctx->mlme_cfg->lfr.ese_enabled)
 		csr_append_assoc_ies(mac_ctx, req_buf, IEEE80211_ELEMID_VENDOR,
 					DOT11F_IE_ESEVERSION_MAX_LEN,
 					ese_ie);

+ 25 - 40
core/sme/src/csr/csr_neighbor_roam.c

@@ -995,7 +995,7 @@ static void csr_neighbor_roam_info_ctx_init(
 	if (csr_is_auth_type11r
 		(mac, session->connectedProfile.AuthType,
 		session->connectedProfile.MDID.mdiePresent)) {
-		if (mac->roam.configParam.isFastTransitionEnabled)
+		if (mac->mlme_cfg->lfr.fast_transition_enabled)
 			init_ft_flag = true;
 		ngbr_roam_info->is11rAssoc = true;
 	} else
@@ -1006,7 +1006,7 @@ static void csr_neighbor_roam_info_ctx_init(
 #ifdef FEATURE_WLAN_ESE
 	/* Based on the auth scheme tell if we are 11r */
 	if (session->connectedProfile.isESEAssoc) {
-		if (mac->roam.configParam.isFastTransitionEnabled)
+		if (mac->mlme_cfg->lfr.fast_transition_enabled)
 			init_ft_flag = true;
 		ngbr_roam_info->isESEAssoc = true;
 	} else
@@ -1226,53 +1226,44 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal mac, uint8_t sessionId)
 	pNeighborRoamInfo->prevNeighborRoamState =
 		eCSR_NEIGHBOR_ROAM_STATE_CLOSED;
 	pNeighborRoamInfo->cfgParams.maxChannelScanTime =
-		mac->roam.configParam.neighborRoamConfig.
-		nNeighborScanMaxChanTime;
+		mac->mlme_cfg->lfr.neighbor_scan_max_chan_time;
 	pNeighborRoamInfo->cfgParams.minChannelScanTime =
-		mac->roam.configParam.neighborRoamConfig.
-		nNeighborScanMinChanTime;
+		mac->mlme_cfg->lfr.neighbor_scan_min_chan_time;
 	pNeighborRoamInfo->cfgParams.neighborLookupThreshold =
-		mac->roam.configParam.neighborRoamConfig.
-		nNeighborLookupRssiThreshold;
+		mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold;
 	pNeighborRoamInfo->cfgParams.rssi_thresh_offset_5g =
 		mac->mlme_cfg->lfr.rssi_threshold_offset_5g;
 	pNeighborRoamInfo->cfgParams.delay_before_vdev_stop =
-		mac->roam.configParam.neighborRoamConfig.
-		delay_before_vdev_stop;
+		mac->mlme_cfg->lfr.delay_before_vdev_stop;
 	pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff =
-		mac->roam.configParam.neighborRoamConfig.
-		nOpportunisticThresholdDiff;
+		mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff;
 	pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
-		mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff;
+		mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
 	pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
-		mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt;
+		mac->mlme_cfg->lfr.roam_bmiss_first_bcnt;
 	pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt =
-		mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt;
+		mac->mlme_cfg->lfr.roam_bmiss_final_bcnt;
 	pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
-		mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight;
+		mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
 	pNeighborRoamInfo->cfgParams.neighborScanPeriod =
-		mac->roam.configParam.neighborRoamConfig.
-		nNeighborScanTimerPeriod;
+		mac->mlme_cfg->lfr.neighbor_scan_timer_period;
 	pNeighborRoamInfo->cfgParams.neighbor_scan_min_period =
-		mac->roam.configParam.neighborRoamConfig.
-		neighbor_scan_min_timer_period;
+		mac->mlme_cfg->lfr.neighbor_scan_min_timer_period;
 	pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
-		mac->roam.configParam.neighborRoamConfig.
-		nNeighborResultsRefreshPeriod;
+		mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period;
 	pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod =
-		mac->roam.configParam.neighborRoamConfig.
-		nEmptyScanRefreshPeriod;
+		mac->mlme_cfg->lfr.empty_scan_refresh_period;
 
 	pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels =
-		mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
-		numChannels;
+		mac->mlme_cfg->lfr.neighbor_scan_channel_list_num;
 	QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
 			FL("number of channels: %u"),
 			pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels);
 	if (pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels != 0) {
 		pNeighborRoamInfo->cfgParams.channelInfo.ChannelList =
-		qdf_mem_malloc(mac->roam.configParam.neighborRoamConfig.
-				neighborScanChanList.numChannels);
+		qdf_mem_malloc(mac->mlme_cfg->lfr.
+			       neighbor_scan_channel_list_num);
+
 		if (!pNeighborRoamInfo->cfgParams.channelInfo.ChannelList)
 			return QDF_STATUS_E_NOMEM;
 
@@ -1282,22 +1273,16 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal mac, uint8_t sessionId)
 
 	/* Update the roam global structure from CFG */
 	qdf_mem_copy(pNeighborRoamInfo->cfgParams.channelInfo.ChannelList,
-		     mac->roam.configParam.neighborRoamConfig.
-		     neighborScanChanList.channelList,
-		     mac->roam.configParam.neighborRoamConfig.
-		     neighborScanChanList.numChannels);
+		     mac->mlme_cfg->lfr.neighbor_scan_channel_list,
+		     mac->mlme_cfg->lfr.neighbor_scan_channel_list_num);
 	pNeighborRoamInfo->cfgParams.hi_rssi_scan_max_count =
-		mac->roam.configParam.neighborRoamConfig.
-			nhi_rssi_scan_max_count;
+		mac->mlme_cfg->lfr.roam_scan_hi_rssi_maxcount;
 	pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta =
-		mac->roam.configParam.neighborRoamConfig.
-			nhi_rssi_scan_rssi_delta;
+		mac->mlme_cfg->lfr.roam_scan_hi_rssi_delta;
 	pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay =
-		mac->roam.configParam.neighborRoamConfig.
-			nhi_rssi_scan_delay;
+		mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay;
 	pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub =
-		mac->roam.configParam.neighborRoamConfig.
-			nhi_rssi_scan_rssi_ub;
+		mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub;
 
 	qdf_zero_macaddr(&pNeighborRoamInfo->currAPbssid);
 	pNeighborRoamInfo->currentNeighborLookupThreshold =

+ 2 - 2
core/wma/src/wma_dev_if.c

@@ -2795,8 +2795,8 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle,
 	if ((self_sta_req->type == WMI_VDEV_TYPE_STA) &&
 	    (self_sta_req->sub_type == 0))
 		wma_roam_scan_bmiss_cnt(wma_handle,
-		mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt,
-		mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt,
+		mac->mlme_cfg->lfr.roam_bmiss_first_bcnt,
+		mac->mlme_cfg->lfr.roam_bmiss_final_bcnt,
 		self_sta_req->session_id);
 
 	if (wlan_cfg_get_int(mac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,

+ 5 - 1
core/wma/src/wma_main.c

@@ -91,6 +91,7 @@
 #include "wlan_cp_stats_mc_ucfg_api.h"
 #include "cfg_nan_api.h"
 #include "wlan_mlme_api.h"
+#include "wlan_mlme_ucfg_api.h"
 
 #define WMA_LOG_COMPLETION_TIMER 3000 /* 3 seconds */
 #define WMI_TLV_HEADROOM 128
@@ -3183,6 +3184,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
 	void *cds_context;
 	target_resource_config *wlan_res_cfg;
 	enum pmo_wow_enable_type wow_enable;
+	uint8_t delay_before_vdev_stop;
 
 	WMA_LOGD("%s: Enter", __func__);
 
@@ -3359,8 +3361,10 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
 
 	for (i = 0; i < wma_handle->max_bssid; ++i) {
 		wma_vdev_init(&wma_handle->interfaces[i]);
+		ucfg_mlme_get_delay_before_vdev_stop(wma_handle->psoc,
+						     &delay_before_vdev_stop);
 		wma_handle->interfaces[i].delay_before_vdev_stop =
-			cds_cfg->delay_before_vdev_stop;
+							delay_before_vdev_stop;
 	}
 	/* Register the debug print event handler */
 	wmi_unified_register_event_handler(wma_handle->wmi_handle,

Some files were not shown because too many files changed in this diff