From 16899516011de9a0e011ef20dfb7e981afbeba1d Mon Sep 17 00:00:00 2001 From: Vignesh Mohan Date: Fri, 26 Jul 2019 11:16:57 +0530 Subject: [PATCH] qcacmn: Make NOL marking independent of preCAC As part of supporting different bandwidths for preCAC, the preCAC list also maintained current channel CAC information independent of preCAC being enabled. Once the current channels are CACed, they are marked as CAC done in the preCAC list irrespective of preCAC being enabled or not. If radar is found on any of these channels, they are not marked as NOL in precac list if preCAC is not enabled. Since the channels are still marked as CAC done, after NOL timeout, switching to this channel does not start CAC. Mark the preCAC list as NOL during radar, irrespective of preCAC being enabled or disabled. Change-Id: Ica24315c1e06fd603d7039e1233fcbd84bfeb594 CRs-Fixed: 2496747 --- .../src/misc/dfs_process_radar_found_ind.c | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/umac/dfs/core/src/misc/dfs_process_radar_found_ind.c b/umac/dfs/core/src/misc/dfs_process_radar_found_ind.c index 80ecc784dc..4c3612279a 100644 --- a/umac/dfs/core/src/misc/dfs_process_radar_found_ind.c +++ b/umac/dfs/core/src/misc/dfs_process_radar_found_ind.c @@ -858,20 +858,20 @@ QDF_STATUS dfs_process_radar_ind(struct wlan_dfs *dfs, dfs->is_radar_found_on_secondary_seg, dfs_is_precac_timer_running(dfs)); /* - * Even if radar found on primary, we need to move the channel - * from precac-required-list and precac-done-list to - * precac-nol-list. + * Even if radar found on primary, we need to mark the channel as NOL + * in preCAC list. The preCAC list also maintains the current CAC + * channels as part of pre-cleared DFS. Hence call the API + * to mark channels as NOL irrespective of preCAC being enabled or not. */ - if (dfs->dfs_precac_enable || dfs->dfs_agile_precac_enable) { - dfs_debug(dfs, WLAN_DEBUG_DFS, - "%s: %d Radar found on dfs detector:%d", - __func__, __LINE__, radar_found->detector_id); - dfs_mark_precac_nol(dfs, - dfs->is_radar_found_on_secondary_seg, - radar_found->detector_id, channels, - num_channels); - } + dfs_debug(dfs, WLAN_DEBUG_DFS, + "%s: %d Radar found on dfs detector:%d", + __func__, __LINE__, radar_found->detector_id); + dfs_mark_precac_nol(dfs, + dfs->is_radar_found_on_secondary_seg, + radar_found->detector_id, + channels, + num_channels); if (utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_ETSI_DOMAIN) { /* Remove chan from ETSI Pre-CAC Cleared List*/