From b7c59613088c5bb915e1d40e05a7d3dbc69d480b Mon Sep 17 00:00:00 2001 From: Abhishek Ambure Date: Wed, 13 Jan 2021 18:29:02 +0530 Subject: [PATCH] qcacld-3.0: Don't block NAN+NDI+STA concurrency for non-dbs When a new connection is about to come up, host checks if current concurrency combination including the new connection is allowed or not based on the HW capability. Firmware manages NAN + NDI by dividing up slots. Connection on NDI is re-negotiable and therefore a 3rd connection with the same MAC is possible. Change-Id: I63e39c5cd4945cd308e475c1e03f676336c4e7c1 CRs-Fixed: 2841457 --- .../policy_mgr/src/wlan_policy_mgr_core.c | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c b/components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c index 8530a819ad98..8626cf07387c 100644 --- a/components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c +++ b/components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c @@ -2823,17 +2823,8 @@ bool policy_mgr_allow_new_home_channel( QDF_MCC_TO_SCC_SWITCH_FORCE_PREFERRED_WITHOUT_DISCONNECTION) ) && (pm_conc_connection_list[0].mac == pm_conc_connection_list[1].mac)) { - if (!policy_mgr_is_hw_dbs_capable(psoc) && - policy_mgr_is_interband_mcc_supported(psoc)) { - if (ch_freq != - pm_conc_connection_list[0].freq && - ch_freq != - pm_conc_connection_list[1].freq) { - policy_mgr_rl_debug("don't allow 3rd home channel on same MAC"); - status = false; - } - } else if ((pm_conc_connection_list[0].mode == - PM_NAN_DISC_MODE && + if ((pm_conc_connection_list[0].mode == + PM_NAN_DISC_MODE && pm_conc_connection_list[1].mode == PM_NDI_MODE) || (pm_conc_connection_list[0].mode == @@ -2847,6 +2838,15 @@ bool policy_mgr_allow_new_home_channel( * same MAC is possible. */ status = true; + } else if (!policy_mgr_is_hw_dbs_capable(psoc) && + policy_mgr_is_interband_mcc_supported(psoc)) { + if (ch_freq != + pm_conc_connection_list[0].freq && + ch_freq != + pm_conc_connection_list[1].freq) { + policy_mgr_rl_debug("don't allow 3rd home channel on same MAC"); + status = false; + } } else if (((WLAN_REG_IS_24GHZ_CH_FREQ(ch_freq)) && (WLAN_REG_IS_24GHZ_CH_FREQ (pm_conc_connection_list[0].freq)) &&