diff options
| author | Nitesh Shah <niteshs@codeaurora.org> | 2017-03-02 20:52:32 +0530 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-03-03 15:19:55 -0800 |
| commit | eeb7c5a6fa1071b4888bf01a2ed5190f82a63769 (patch) | |
| tree | 6a6ab0dca8a8afa57bbea05cbf76d1e4fec5553f | |
| parent | bde8d6b9cf6a93c4314ed82d01d8d6c513adcc51 (diff) | |
qcacld-3.0: Add 160/80+80 MHz support for STA mode
Allow 160 MHz and 80+80 MHz support in concurrency mode.
Also add support for 160 MHz and 80+80 MHz in VHT Capabilities IE
in STA assoc request frame.
Change-Id: Id3aab3308c68d0a623d5c4916e1bd46c6deaedde
CRs-Fixed: 2014380
| -rw-r--r-- | core/cds/src/cds_concurrency.c | 52 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_send_management_frames.c | 4 |
2 files changed, 4 insertions, 52 deletions
diff --git a/core/cds/src/cds_concurrency.c b/core/cds/src/cds_concurrency.c index b78e1f2b4855..5aa63e00966a 100644 --- a/core/cds/src/cds_concurrency.c +++ b/core/cds/src/cds_concurrency.c @@ -5525,44 +5525,6 @@ bool cds_is_ibss_conn_exist(uint8_t *ibss_channel) } /** - * cds_vht160_conn_exist() - to check if we have a connection - * already using vht160 or vht80+80 - * - * This routine will check if vht160 connection already exist or - * no. If it exist then this routine will return true. - * - * Return: true if vht160 connection exist else false - */ -static bool cds_vht160_conn_exist(void) -{ - uint32_t conn_index; - bool status = false; - cds_context_type *cds_ctx; - - cds_ctx = cds_get_context(QDF_MODULE_ID_QDF); - if (!cds_ctx) { - cds_err("Invalid CDS Context"); - return status; - } - - qdf_mutex_acquire(&cds_ctx->qdf_conc_list_lock); - for (conn_index = 0; conn_index < MAX_NUMBER_OF_CONC_CONNECTIONS; - conn_index++) { - if (conc_connection_list[conn_index].in_use && - ((conc_connection_list[conn_index].bw == - HW_MODE_80_PLUS_80_MHZ) || - (conc_connection_list[conn_index].bw == - HW_MODE_160_MHZ))) { - status = true; - break; - } - } - qdf_mutex_release(&cds_ctx->qdf_conc_list_lock); - - return status; -} - -/** * cds_is_5g_channel_allowed() - check if 5g channel is allowed * @channel: channel number which needs to be validated * @list: list of existing connections. @@ -5804,20 +5766,6 @@ bool cds_allow_concurrency(enum cds_con_mode mode, qdf_mutex_release(&cds_ctx->qdf_conc_list_lock); } - /* don't allow concurrency on vht160 or vht 80+80 */ - if (num_connections && - ((bw == HW_MODE_80_PLUS_80_MHZ) || - (bw == HW_MODE_160_MHZ))) { - cds_err("No VHT160, we have one connection already"); - goto done; - } - - if (cds_vht160_conn_exist()) { - cds_err("VHT160/80+80 connection exists, no concurrency"); - goto done; - } - - status = true; done: diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 6e7c8c0ecaee..522879dd4bac 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -1875,6 +1875,10 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx, pe_session->vhtCapabilityPresentInBeacon) { lim_log(mac_ctx, LOG1, FL("Populate VHT IEs in Assoc Request")); populate_dot11f_vht_caps(mac_ctx, pe_session, &frm->VHTCaps); + /* Enable 160/80+80 MHz channel width support for STA mode */ + if (pe_session->pePersona == QDF_STA_MODE) + frm->VHTCaps.supportedChannelWidthSet = + VHT_CAP_160_AND_80P80_SUPP; QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG, &frm->VHTCaps, sizeof(frm->VHTCaps)); vht_enabled = true; |
