From cc0ffb1f565ffd83cfc9e8de1e4fc026665cc1c4 Mon Sep 17 00:00:00 2001 From: Archana Ramachandran Date: Fri, 17 Feb 2017 18:30:43 -0800 Subject: [PATCH] qcacld-3.0: Skip moving to single MAC mode after 2.4 Ghz connection for 2x2 DBS Since 2.4 Ghz connection is by default on MAC1 for 2x2 DBS, skip the optimization of moving to single MAC mode after 2.4 Ghz connection. Change-Id: I09c2491f59b020e9c691c74c613e39fa250844f4 CRs-Fixed: 2008744 --- core/cds/src/cds_concurrency.c | 6 ++++-- core/hdd/src/wlan_hdd_cfg80211.c | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/cds/src/cds_concurrency.c b/core/cds/src/cds_concurrency.c index aba4e5288001..4dd404ab6283 100644 --- a/core/cds/src/cds_concurrency.c +++ b/core/cds/src/cds_concurrency.c @@ -2011,13 +2011,15 @@ enum cds_conc_next_action cds_need_opportunistic_upgrade(void) } else if ((conc_connection_list[conn_index].mac == 1) && conc_connection_list[conn_index].in_use) { mac |= CDS_MAC1; - if (CDS_MAC0_AND_MAC1 == mac) { + if (CDS_MAC0_AND_MAC1 == mac || + wma_is_hw_dbs_2x2_capable()) { qdf_mutex_release(&cds_ctx->qdf_conc_list_lock); goto done; } } } - /* Let's request for single MAC mode */ + + cds_info("Request for single MAC mode"); upgrade = CDS_SINGLE_MAC; /* Is there any connection had an initial connection with 2x2 */ for (conn_index = 0; conn_index < MAX_NUMBER_OF_CONC_CONNECTIONS; diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index ba2b68f20b14..91612c92f80f 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -13134,9 +13134,11 @@ static int wlan_hdd_cfg80211_connect_start(hdd_adapter_t *pAdapter, pRoamProfile->ChannelInfo.numOfChannels = 0; if ((QDF_STA_MODE == pAdapter->device_mode) - && wma_is_current_hwmode_dbs()) { + && wma_is_current_hwmode_dbs() && + !wma_is_hw_dbs_2x2_capable()) { cds_get_channel_from_scan_result(pAdapter, pRoamProfile, &channel); + hdd_info("Move to single MAC mode(optimization) if applicable"); if (channel) cds_checkn_update_hw_mode_single_mac_mode (channel);