Переглянути джерело

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
Abhishek Ambure 4 роки тому
батько
коміт
9389bccc4c

+ 11 - 11
components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c

@@ -2824,17 +2824,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 ==
@@ -2848,6 +2839,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)) &&