diff options
| author | Edhar, Mahesh Kumar <c_medhar@qti.qualcomm.com> | 2015-04-06 18:55:02 +0530 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-04-09 16:33:06 +0530 |
| commit | 4dd351f093caea9af21aa7714483a45e54ffdb06 (patch) | |
| tree | a6593cbc125bfa9c9aa035b44666a4bcd271f0c0 | |
| parent | f7e1cf045d615bb1eff11a0eb8f8d8a9f05c632b (diff) | |
qcacld: change to restore channel bonding parameter on softap bring up
Currently during concurrency scenarios we wont unload the driver on
stopping softap interface.
due to above behaviour global channel bonding parameter is getting
modified but not restored, this behaviour is resulting in disabling
channel bonding.
changes are made to address the above issue by updating the gloabl
channel bonding parameter before starting softap interface.
Change-Id: Icde6bdba560f4f65dbf1682f7a9aa809fd303e57
CRs-Fixed: 818141
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 86a822947938..b98b0b9f0d8d 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -8643,6 +8643,27 @@ static int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, if (pHostapdAdapter->device_mode == WLAN_HDD_SOFTAP) { +#ifndef QCA_HT_2040_COEX + /* + * Restore the channel bonding parameter to avoid + * falling to previous SAP configuration in concurrency + * scenarios. + */ + tSmeConfigParams *sme_config; + + sme_config = vos_mem_malloc(sizeof(*sme_config)); + if (!sme_config) { + hddLog(LOGE, FL("memory allocation failed for sme_config")); + return -ENOMEM; + } + + vos_mem_zero(sme_config, sizeof(*sme_config)); + sme_GetConfigParam(hHal, sme_config); + sme_config->csrConfig.channelBondingMode5GHz = + pHddCtx->cfg_ini->nChannelBondingMode5GHz; + sme_UpdateConfig(hHal, sme_config); + vos_mem_free(sme_config); +#endif pIe = wlan_hdd_cfg80211_get_ie_ptr(pBeacon->tail, pBeacon->tail_len, WLAN_EID_COUNTRY); if(memcmp(pHddCtx->cfg_ini->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0) |
