diff options
| author | Kiran Kumar Lokere <klokere@codeaurora.org> | 2017-12-20 18:09:55 -0800 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-12-27 12:42:13 -0800 |
| commit | bf55b997791ec3faf3ef029e774b61816b74f409 (patch) | |
| tree | b54a29c848017aea2fa72bbf58ba0782a6cf56aa | |
| parent | 05d07599457324cbecd57b9faf62024c79fd05e2 (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.c | 15 |
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; |
