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
This commit is contained in:
@@ -858,20 +858,20 @@ QDF_STATUS dfs_process_radar_ind(struct wlan_dfs *dfs,
|
|||||||
dfs->is_radar_found_on_secondary_seg,
|
dfs->is_radar_found_on_secondary_seg,
|
||||||
dfs_is_precac_timer_running(dfs));
|
dfs_is_precac_timer_running(dfs));
|
||||||
/*
|
/*
|
||||||
* Even if radar found on primary, we need to move the channel
|
* Even if radar found on primary, we need to mark the channel as NOL
|
||||||
* from precac-required-list and precac-done-list to
|
* in preCAC list. The preCAC list also maintains the current CAC
|
||||||
* precac-nol-list.
|
* 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,
|
||||||
dfs_debug(dfs, WLAN_DEBUG_DFS,
|
"%s: %d Radar found on dfs detector:%d",
|
||||||
"%s: %d Radar found on dfs detector:%d",
|
__func__, __LINE__, radar_found->detector_id);
|
||||||
__func__, __LINE__, radar_found->detector_id);
|
dfs_mark_precac_nol(dfs,
|
||||||
dfs_mark_precac_nol(dfs,
|
dfs->is_radar_found_on_secondary_seg,
|
||||||
dfs->is_radar_found_on_secondary_seg,
|
radar_found->detector_id,
|
||||||
radar_found->detector_id, channels,
|
channels,
|
||||||
num_channels);
|
num_channels);
|
||||||
}
|
|
||||||
|
|
||||||
if (utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_ETSI_DOMAIN) {
|
if (utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_ETSI_DOMAIN) {
|
||||||
/* Remove chan from ETSI Pre-CAC Cleared List*/
|
/* Remove chan from ETSI Pre-CAC Cleared List*/
|
||||||
|
Reference in New Issue
Block a user