From b76f24187d0cfbe7cf44f3638c8b37637b13a521 Mon Sep 17 00:00:00 2001 From: Ananya Barat Date: Tue, 20 Apr 2021 17:27:29 +0530 Subject: [PATCH] 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 --- target_if/spectral/target_if_spectral.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/target_if/spectral/target_if_spectral.c b/target_if/spectral/target_if_spectral.c index 6ae4748133..1e690c4227 100644 --- a/target_if/spectral/target_if_spectral.c +++ b/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; } }