qcacld-3.0: Fix the crash in wlan re-initialization

Perform cfg download before the SME config update since the
SME config update operation accesses the cfg database.

Change-Id: Ic2d5b6d192ed164b20011b3eeaea6126951b87e8
CRs-Fixed: 948896
This commit is contained in:
Kiran Kumar Lokere 2015-12-09 19:01:06 -08:00 • committed by Gerrit - the friendly Code Review server
commit 5aeae9a956

View file

@ -1463,18 +1463,21 @@ CDF_STATUS hdd_wlan_re_init(void *hif_sc)
goto err_cds_close;
}
/* Set the SME configuration parameters. */
cdf_status = hdd_set_sme_config(pHddCtx);
if (CDF_STATUS_SUCCESS != cdf_status) {
hddLog(CDF_TRACE_LEVEL_FATAL, "%s: Failed hdd_set_sme_config",
__func__);
cdf_status = cds_pre_enable(pHddCtx->pcds_context);
if (!CDF_IS_STATUS_SUCCESS(cdf_status)) {
hdd_alert("cds_pre_enable failed");
goto err_cds_close;
}
cdf_status = cds_pre_enable(pHddCtx->pcds_context);
if (!CDF_IS_STATUS_SUCCESS(cdf_status)) {
hddLog(CDF_TRACE_LEVEL_FATAL, "%s: cds_pre_enable failed",
__func__);
/*
* Note that the cds_pre_enable() sequence triggers the cfg download.
* The cfg download must occur before we update the SME config
* since the SME config operation must access the cfg database.
* Set the SME configuration parameters.
*/
cdf_status = hdd_set_sme_config(pHddCtx);
if (CDF_STATUS_SUCCESS != cdf_status) {
hdd_alert("Failed hdd_set_sme_config");
goto err_cds_close;
}