Browse Source

qcacld-3.0: Fix 2.4 GHz ACS SAP started on STA 5 GHz indoor channel

Add ACS band check for indoor STA+SAP force SCC logic.
If SAP ACS band only support 2.4 GHz channels, do not move
to 5 GHz STA indoor channel for SCC.

Change-Id: I330dee9c35d2955cedc2b802a5bfb4d13ecb5d4c
CRs-Fixed: 3263428
Liangwei Dong 2 years ago
parent
commit
a212fe8e12
1 changed files with 11 additions and 9 deletions
  1. 11 9
      components/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c

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

@@ -4394,6 +4394,14 @@ void policy_mgr_check_scc_sbs_channel(struct wlan_objmgr_psoc *psoc,
 					   NULL, NULL)))
 		sbs_mlo_present = true;
 
+	if (pm_ctx->hdd_cbacks.wlan_get_sap_acs_band) {
+		status = pm_ctx->hdd_cbacks.wlan_get_sap_acs_band(psoc,
+								  vdev_id,
+								  &acs_band);
+		if (QDF_IS_STATUS_SUCCESS(status))
+			policy_mgr_debug("acs_band: %d", acs_band);
+	}
+
 	/*
 	 * Different band, this also mean that there is no other interface on
 	 * on same band as csr_check_concurrent_channel_overlap
@@ -4419,7 +4427,9 @@ void policy_mgr_check_scc_sbs_channel(struct wlan_objmgr_psoc *psoc,
 		    ((wlan_reg_is_freq_indoor(pm_ctx->pdev, sap_ch_freq) &&
 		    WLAN_REG_IS_24GHZ_CH_FREQ(*intf_ch_freq)) ||
 		    (wlan_reg_is_freq_indoor(pm_ctx->pdev, *intf_ch_freq) &&
-		     WLAN_REG_IS_24GHZ_CH_FREQ(sap_ch_freq)))) {
+		     WLAN_REG_IS_24GHZ_CH_FREQ(sap_ch_freq) &&
+		     !(acs_band == QCA_ACS_MODE_IEEE80211B ||
+		       acs_band == QCA_ACS_MODE_IEEE80211G)))) {
 			status = policy_mgr_get_sap_mandatory_channel(
 							psoc, sap_ch_freq,
 							intf_ch_freq, vdev_id);
@@ -4492,14 +4502,6 @@ sbs_check:
 	    !policy_mgr_get_ap_6ghz_capable(psoc, vdev_id, NULL))
 		allow_6ghz = false;
 
-	if (pm_ctx->hdd_cbacks.wlan_get_sap_acs_band) {
-		status = pm_ctx->hdd_cbacks.wlan_get_sap_acs_band(psoc,
-								  vdev_id,
-								  &acs_band);
-		if (QDF_IS_STATUS_SUCCESS(status))
-			policy_mgr_debug("acs_band: %d", acs_band);
-	}
-
 	qdf_mutex_acquire(&pm_ctx->qdf_conc_list_lock);
 	/*
 	 * For SAP restart case SAP entry might be present in table,