diff options
| author | Amar Singhal <asinghal@qca.qualcomm.com> | 2015-06-20 09:40:28 -0700 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-06-22 20:50:25 +0530 |
| commit | 83f1a58cbcf1685967ad06e7200aba187edf2aa4 (patch) | |
| tree | 89568606fb91f1e5ee28622cc1e95ebe94e9cef6 | |
| parent | 69e793779b67a3c6f02714021992d44a63b48d7e (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.c | 14 | ||||
| -rwxr-xr-x | CORE/HDD/src/wlan_hdd_main.c | 6 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_nvitem.c | 7 |
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) { |
