From eb31abd2bf65e3ca5f96693ac3ff33b2316e60ff Mon Sep 17 00:00:00 2001 From: "Edhar, Mahesh Kumar" Date: Thu, 21 Jan 2016 17:50:47 +0530 Subject: [PATCH] qcacld-3.0: Change to retrieve valid non 11P channels 11P channels are wrongly retrieved along with other valid channels while using csr_get_cfg_valid_channels function call. AS per the current implementation the above function call is used to get the valid channel used for scan and roaming scenarios. Since 11P channels are not valid in scan and roaming scenarios csr_get_cfg_valid_channels function is updated to retrieve non 11P valid channels. Change-Id: I25567b2791ac776480534534e10d900c2f9a6184 CRs-Fixed: 965218 --- core/sme/src/csr/csr_api_roam.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index ebbfe474c24c..608f4da49825 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -11856,10 +11856,22 @@ CDF_STATUS csr_roam_issue_stop_bss(tpAniSirGlobal pMac, uint32_t sessionId, CDF_STATUS csr_get_cfg_valid_channels(tpAniSirGlobal pMac, uint8_t *pChannels, uint32_t *pNumChan) { + uint8_t num_chan_temp = 0; + int i; + if (!IS_SIR_STATUS_SUCCESS(wlan_cfg_get_str(pMac, WNI_CFG_VALID_CHANNEL_LIST, (uint8_t *) pChannels, pNumChan))) return CDF_STATUS_E_FAILURE; + + for (i = 0; i < *pNumChan; i++) { + if (!cds_is_dsrc_channel(cds_chan_to_freq(pChannels[i]))) { + pChannels[num_chan_temp] = pChannels[i]; + num_chan_temp++; + } + } + + *pNumChan = num_chan_temp; return CDF_STATUS_SUCCESS; }