Sfoglia il codice sorgente

qcacmn: Do not start Spectral Scan if RCAC is enabled

Agile scans (preCAC/RCAC) use the Agile Engine which is also needed
for the Agile spectral scan. Hence, both cannot run at the same time.

Currently, if Agile preCAC is enabled, Agile spectral scan is not
started. Do not start the spectral scan if either RCAC is enabled or
preCAC is enabled.

Change-Id: I242c28c2c3f8872ceab6314dde80361c283d3ac1
CRs-Fixed: 2922250
Ananya Barat 4 anni fa
parent
commit
b76f24187d
1 ha cambiato i file con 17 aggiunte e 4 eliminazioni
  1. 17 4
      target_if/spectral/target_if_spectral.c

+ 17 - 4
target_if/spectral/target_if_spectral.c

@@ -4435,7 +4435,8 @@ target_if_is_aspectral_prohibited_by_adfs(struct wlan_objmgr_psoc *psoc,
 {
 	bool *is_aspectral_prohibited = arg;
 	struct wlan_objmgr_pdev *cur_pdev = object;
-	bool is_agile_dfs_enabled_cur_pdev = false;
+	bool is_agile_precac_enabled_cur_pdev = false;
+	bool is_agile_rcac_enabled_cur_pdev = false;
 	QDF_STATUS status;
 
 	qdf_assert_always(is_aspectral_prohibited);
@@ -4447,15 +4448,27 @@ target_if_is_aspectral_prohibited_by_adfs(struct wlan_objmgr_psoc *psoc,
 
 	status = ucfg_dfs_get_agile_precac_enable
 				(cur_pdev,
-				 &is_agile_dfs_enabled_cur_pdev);
+				 &is_agile_precac_enabled_cur_pdev);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		spectral_err("Get agile precac failed, prohibiting aSpectral");
 		*is_aspectral_prohibited = true;
 		return;
 	}
 
-	if (is_agile_dfs_enabled_cur_pdev) {
-		spectral_err("aDFS is in progress on one of the pdevs");
+	status = ucfg_dfs_get_rcac_enable(cur_pdev,
+					  &is_agile_rcac_enabled_cur_pdev);
+
+	if (QDF_IS_STATUS_ERROR(status)) {
+		spectral_err("Get agile RCAC failed, prohibiting aSpectral");
+		*is_aspectral_prohibited = true;
+		return;
+	}
+
+	if (is_agile_precac_enabled_cur_pdev) {
+		spectral_err("aDFS preCAC is in progress on one of the pdevs");
+		*is_aspectral_prohibited = true;
+	} else if (is_agile_rcac_enabled_cur_pdev) {
+		spectral_err("aDFS RCAC is in progress on one of the pdevs");
 		*is_aspectral_prohibited = true;
 	}
 }