Forráskód Böngészése

qcacld-3.0: Skip force SCC check for inactive ML STA vdev

If ML STA vdev is in inactive connection table, do not get
the vdev's channel for force SCC check.

Change-Id: I206aa33461f299847b247e97ea0453186c362795
CRs-Fixed: 3609017
Liangwei Dong 1 éve
szülő
commit
ef494324a1

+ 6 - 0
components/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h

@@ -5153,6 +5153,12 @@ QDF_STATUS policy_mgr_update_active_mlo_num_links(struct wlan_objmgr_psoc *psoc,
 						  uint8_t vdev_id,
 						  uint8_t num_links);
 #else
+static inline bool
+policy_mgr_vdev_is_force_inactive(struct wlan_objmgr_psoc *psoc,
+				  uint8_t vdev_id)
+{
+	return false;
+}
 
 static inline bool policy_mgr_is_mlo_sap_concurrency_allowed(
 			struct wlan_objmgr_psoc *psoc,

+ 10 - 0
core/sme/src/csr/csr_util.c

@@ -636,6 +636,16 @@ uint16_t csr_check_concurrent_channel_overlap(struct mac_context *mac_ctx,
 		if ((op_mode == QDF_STA_MODE ||
 		     op_mode == QDF_P2P_CLIENT_MODE) &&
 		    cm_is_vdevid_connected(mac_ctx->pdev, i)) {
+			if (op_mode == QDF_STA_MODE &&
+			    policy_mgr_is_ml_vdev_id(mac_ctx->psoc,
+						     session->vdev_id) &&
+			    policy_mgr_vdev_is_force_inactive(
+							mac_ctx->psoc,
+							session->vdev_id)) {
+				sme_debug("skip inactive ml sta vdev %d",
+					  session->vdev_id);
+				continue;
+			}
 			wlan_get_op_chan_freq_info_vdev_id(mac_ctx->pdev,
 					   session->vdev_id,
 					   &intf_ch_freq, &intf_cfreq,