summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmar Singhal <asinghal@qca.qualcomm.com>2015-06-20 09:40:28 -0700
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-06-22 20:50:25 +0530
commit83f1a58cbcf1685967ad06e7200aba187edf2aa4 (patch)
tree89568606fb91f1e5ee28622cc1e95ebe94e9cef6
parent69e793779b67a3c6f02714021992d44a63b48d7e (diff)
qcacld-2.0: Fix regulatory issues during SSR
During SSR, the wiphy channel list remains unchanged; there is no need to re-initialize wiphy channel list. Only the channel list in SME and firmware needs to be re-populated. Change-Id: I9e8fb4de971d363e6aeb0572336d1e874279f140 CRs-Fixed: 859060
-rw-r--r--CORE/HDD/src/wlan_hdd_early_suspend.c14
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c6
-rw-r--r--CORE/VOSS/src/vos_nvitem.c7
3 files changed, 11 insertions, 16 deletions
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index d8968e69a6c1..bfdb046a3f77 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -2110,20 +2110,6 @@ VOS_STATUS hdd_wlan_re_init(void *hif_sc)
goto err_vosclose;
}
- /* initialize the NV module. This is required so that
- we can initialize the channel information in wiphy
- from the NV.bin data. The channel information in
- wiphy needs to be initialized before wiphy registration */
-
- vosStatus = vos_init_wiphy_from_eeprom();
- if (!VOS_IS_STATUS_SUCCESS(vosStatus))
- {
- /* NV module cannot be initialized */
- hddLog(VOS_TRACE_LEVEL_FATAL,
- "%s: vos_init_wiphy_from_eeprom failed", __func__);
- goto err_vosclose;
- }
-
vosStatus = hdd_set_sme_chan_list(pHddCtx);
if (!VOS_IS_STATUS_SUCCESS(vosStatus)) {
hddLog(VOS_TRACE_LEVEL_FATAL,
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index ed98743a5580..c3cdd8451e24 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -6787,8 +6787,10 @@ void hdd_update_tgt_cfg(void *context, void *param)
FL("ini BandCapability not supported by the target"));
}
- hdd_ctx->reg.reg_domain = cfg->reg_domain;
- hdd_ctx->reg.eeprom_rd_ext = cfg->eeprom_rd_ext;
+ if (!hdd_ctx->isLogpInProgress) {
+ hdd_ctx->reg.reg_domain = cfg->reg_domain;
+ hdd_ctx->reg.eeprom_rd_ext = cfg->eeprom_rd_ext;
+ }
/* This can be extended to other configurations like ht, vht cap... */
diff --git a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c
index 9f90f552ff74..6f699ddf8736 100644
--- a/CORE/VOSS/src/vos_nvitem.c
+++ b/CORE/VOSS/src/vos_nvitem.c
@@ -1257,6 +1257,13 @@ VOS_STATUS vos_nv_getRegDomainFromCountryCode( v_REGDOMAIN_t *pRegDomain,
return VOS_STATUS_E_FAULT;
}
+ if (pHddCtx->isLogpInProgress) {
+ VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
+ (" SSR in progress, return") );
+ *pRegDomain = temp_reg_domain;
+ return VOS_STATUS_SUCCESS;
+ }
+
wiphy = pHddCtx->wiphy;
if (false == wiphy->registered) {