summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNitesh Shah <niteshs@codeaurora.org>2017-03-02 20:52:32 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-03-03 15:19:55 -0800
commiteeb7c5a6fa1071b4888bf01a2ed5190f82a63769 (patch)
tree6a6ab0dca8a8afa57bbea05cbf76d1e4fec5553f
parentbde8d6b9cf6a93c4314ed82d01d8d6c513adcc51 (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.c52
-rw-r--r--core/mac/src/pe/lim/lim_send_management_frames.c4
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;