summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran Kumar Lokere <klokere@codeaurora.org>2017-12-20 18:09:55 -0800
committersnandini <snandini@codeaurora.org>2017-12-27 12:42:13 -0800
commitbf55b997791ec3faf3ef029e774b61816b74f409 (patch)
treeb54a29c848017aea2fa72bbf58ba0782a6cf56aa
parent05d07599457324cbecd57b9faf62024c79fd05e2 (diff)
qcacld-3.0: Check the channel width value in CSA processing
Check the channel width value in CSA IE before we process the channel switch so that if the AP sends the wrong channel width in CSA driver can process with correct configuration Change-Id: Ib14a0146502b0f731f319ac1fe6657a389388cec CRs-Fixed: 2162235
-rw-r--r--core/mac/src/pe/lim/lim_send_sme_rsp_messages.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
index 6656d27ab49d..b4bc8fe0ffd5 100644
--- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
+++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
@@ -2215,7 +2215,8 @@ void lim_handle_csa_offload_msg(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
if (session_entry->vhtCapability &&
session_entry->htSupportedChannelWidthSet) {
- if (csa_params->ies_present_flag & lim_wbw_ie_present) {
+ if (csa_params->ies_present_flag & lim_wbw_ie_present &&
+ csa_params->new_ch_width) {
lim_process_csa_wbw_ie(mac_ctx, csa_params,
chnl_switch_info, session_entry);
lim_ch_switch->sec_ch_offset =
@@ -2270,6 +2271,18 @@ void lim_handle_csa_offload_msg(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
lim_ch_switch->sec_ch_offset =
ch_params.sec_ch_offset;
+ } else {
+ lim_ch_switch->state =
+ eLIM_CHANNEL_SWITCH_PRIMARY_AND_SECONDARY;
+ ch_params.ch_width = CH_WIDTH_40MHZ;
+ cds_set_channel_params(csa_params->channel,
+ 0, &ch_params);
+ lim_ch_switch->sec_ch_offset =
+ ch_params.sec_ch_offset;
+ chnl_switch_info->newChanWidth = CH_WIDTH_40MHZ;
+ chnl_switch_info->newCenterChanFreq0 =
+ ch_params.center_freq_seg0;
+ chnl_switch_info->newCenterChanFreq1 = 0;
}
session_entry->gLimChannelSwitch.ch_center_freq_seg0 =
chnl_switch_info->newCenterChanFreq0;