From 6056d188b8345ae41fbbedc714fe565c769487b2 Mon Sep 17 00:00:00 2001 From: Kiran Kumar Lokere Date: Thu, 31 Oct 2019 16:12:36 -0700 Subject: [PATCH] qcacld-3.0: Correct the 6GHz operation info in HE op IE Correct the 6G operation info field values in HE operation IE. And replace the legacy api with new 6G support api to calculate channel center frequencies. Change-Id: Icafdd72b386137a6a0c8d0de233d4fbdbd121610 CRs-Fixed: 2557233 --- core/hdd/src/wlan_hdd_hostapd.c | 7 +++---- .../src/pe/lim/lim_process_sme_req_messages.c | 13 ++++-------- .../src/sys/legacy/src/utils/src/parser_api.c | 20 ++++++++----------- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 1fc3e2c26ec0..311de05d2657 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -3220,10 +3220,9 @@ sap_restart: hdd_ap_ctx->sap_context->csa_reason = CSA_REASON_CONCURRENT_STA_CHANGED_CHANNEL; - wlan_reg_set_channel_params(hdd_ctx->pdev, - intf_ch, - 0, - &ch_params); + wlan_reg_set_channel_params_for_freq(hdd_ctx->pdev, + intf_ch_freq, 0, + &ch_params); *ch_freq = wlan_chan_to_freq(intf_ch); hdd_info("SAP channel change with CSA/ECSA"); diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 1b33ce79081a..374ed4c6c54f 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -768,15 +768,10 @@ __lim_handle_sme_start_bss_request(struct mac_context *mac_ctx, uint32_t *msg_bu sme_start_bss_req->vht_channel_width, session->htSupportedChannelWidthSet); session->ch_width = chanwidth; - if (session->htSupportedChannelWidthSet) { - session->ch_center_freq_seg0 = - sme_start_bss_req->center_freq_seg0; - session->ch_center_freq_seg1 = - sme_start_bss_req->center_freq_seg1; - } else { - session->ch_center_freq_seg0 = 0; - session->ch_center_freq_seg1 = 0; - } + session->ch_center_freq_seg0 = + sme_start_bss_req->center_freq_seg0; + session->ch_center_freq_seg1 = + sme_start_bss_req->center_freq_seg1; } pe_debug("vht su tx bformer %d", diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 1284fb37bf45..d183e9100df3 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -6083,19 +6083,15 @@ populate_dot11f_he_operation(struct mac_context *mac_ctx, } } else { he_op->oper_info_6g_present = 1; - if (session->ch_width > CH_WIDTH_40MHZ) { - he_op->oper_info_6g.info.ch_width = 1; - he_op->oper_info_6g.info.center_freq_seg0 = - session->ch_center_freq_seg0; - if (session->ch_width == CH_WIDTH_80P80MHZ || - session->ch_width == CH_WIDTH_160MHZ) - he_op->oper_info_6g.info.center_freq_seg1 = - session->ch_center_freq_seg1; - else - he_op->oper_info_6g.info.center_freq_seg1 = 0; + he_op->oper_info_6g.info.ch_width = session->ch_width; + he_op->oper_info_6g.info.center_freq_seg0 = + session->ch_center_freq_seg0; + if (session->ch_width == CH_WIDTH_80P80MHZ || + session->ch_width == CH_WIDTH_160MHZ) { + he_op->oper_info_6g.info.center_freq_seg1 = + session->ch_center_freq_seg1; + he_op->oper_info_6g.info.ch_width = CH_WIDTH_160MHZ; } else { - he_op->oper_info_6g.info.ch_width = 0; - he_op->oper_info_6g.info.center_freq_seg0 = 0; he_op->oper_info_6g.info.center_freq_seg1 = 0; } he_op->oper_info_6g.info.primary_ch =