From d76fafe548cf86d43bce414ed9481b56b5df4750 Mon Sep 17 00:00:00 2001 From: Abhijit Pradhan Date: Thu, 2 Aug 2018 13:33:38 +0530 Subject: [PATCH] qcacmn: Reset false radar event variables When the variable 'false_radar_found' is 1 a set of dfs variables are supposed to be reset. The reset of the variables are done from within dfs_radarfound_action_fcc() and dfs_radarfound_action_generic(). However, neither the function dfs_radarfound_action_fcc() nor the function dfs_radarfound_action_generic() is called when 'false_radar_found' is 1. Therefore, remove resetting of the dfs variables from the two functions and perform resetting of the dfs independent of the radar found action. Change-Id: I120dd8dc7abe13aa9dcaa7a29c10deea06cb8043 CRs-Fixed: 2289775 --- umac/dfs/core/src/dfs.h | 6 +----- umac/dfs/core/src/dfs_partial_offload_radar.h | 7 ++----- .../dfs/core/src/dfs_process_radar_found_ind.h | 4 +--- .../src/filtering/dfs_partial_offload_radar.c | 11 +++-------- .../src/filtering/dfs_process_radarevent.c | 18 +++++++----------- 5 files changed, 14 insertions(+), 32 deletions(-) diff --git a/umac/dfs/core/src/dfs.h b/umac/dfs/core/src/dfs.h index b857e7412d..3b9122a55c 100644 --- a/umac/dfs/core/src/dfs.h +++ b/umac/dfs/core/src/dfs.h @@ -967,7 +967,6 @@ struct dfs_event_log { * @dfs_spoof_check_failed: Indicates if the spoof check has failed. * @dfs_spoof_test_done: Indicates if the sppof test is done. * @dfs_seg_id: Segment ID of the radar hit channel. - * @dfs_false_radar_found: Indicates if false radar is found. * @dfs_status_timeout_override: Used to change the timeout value of * dfs_host_wait_timer. */ @@ -1089,7 +1088,6 @@ struct wlan_dfs { dfs_spoof_check_failed:1, dfs_spoof_test_done:1; uint8_t dfs_seg_id; - int dfs_false_radar_found; struct dfs_channel dfs_radar_found_chan; int dfs_status_timeout_override; #endif @@ -2242,12 +2240,10 @@ void __dfs_process_radarevent(struct wlan_dfs *dfs, * @dfs: Pointer to wlan_dfs structure. * @bangradar: true if radar is due to bangradar command. * @seg_id: Segment id. - * @false_radar_found: value is 1 if false radar is found. */ void dfs_radar_found_action(struct wlan_dfs *dfs, bool bangradar, - uint8_t seg_id, - int false_radar_found); + uint8_t seg_id); /** * bin5_rules_check_internal() - This is a extension of dfs_bin5_check(). diff --git a/umac/dfs/core/src/dfs_partial_offload_radar.h b/umac/dfs/core/src/dfs_partial_offload_radar.h index 6743efc9de..92f7903da2 100644 --- a/umac/dfs/core/src/dfs_partial_offload_radar.h +++ b/umac/dfs/core/src/dfs_partial_offload_radar.h @@ -121,17 +121,14 @@ QDF_STATUS dfs_get_override_status_timeout(struct wlan_dfs *dfs, * FCC domain. * @dfs: Pointer to wlan_dfs structure. * @seg_id: segment id. - * @false_radar_found: Indicates if false radar is found. * * Return: None */ #if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST) -void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, uint8_t seg_id, - int false_radar_found); +void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, uint8_t seg_id); #else static inline void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, - uint8_t seg_id, - int false_radar_found) + uint8_t seg_id) { } #endif diff --git a/umac/dfs/core/src/dfs_process_radar_found_ind.h b/umac/dfs/core/src/dfs_process_radar_found_ind.h index d53f893984..b6ee1f48b3 100644 --- a/umac/dfs/core/src/dfs_process_radar_found_ind.h +++ b/umac/dfs/core/src/dfs_process_radar_found_ind.h @@ -126,12 +126,10 @@ QDF_STATUS dfs_process_radar_ind(struct wlan_dfs *dfs, * for domains other than FCC. * @dfs: Pointer to wlan_dfs structure. * @seg_id: segment id. - * @false_radar_found: Indicates detection of false radar. * * Return: None */ -void dfs_radarfound_action_generic(struct wlan_dfs *dfs, - uint8_t seg_id, int false_radar_found); +void dfs_radarfound_action_generic(struct wlan_dfs *dfs, uint8_t seg_id); /** * dfs_get_bonding_channels() - Get bonding channels. diff --git a/umac/dfs/core/src/filtering/dfs_partial_offload_radar.c b/umac/dfs/core/src/filtering/dfs_partial_offload_radar.c index d5b42ce036..ca111a950b 100644 --- a/umac/dfs/core/src/filtering/dfs_partial_offload_radar.c +++ b/umac/dfs/core/src/filtering/dfs_partial_offload_radar.c @@ -455,10 +455,8 @@ static os_timer_func(dfs_no_res_from_fw_task) dfs->dfs_is_host_wait_running = 0; dfs->dfs_no_res_from_fw = 1; - dfs_radarfound_action_generic(dfs, dfs->dfs_seg_id, - dfs->dfs_false_radar_found); + dfs_radarfound_action_generic(dfs, dfs->dfs_seg_id); dfs->dfs_seg_id = 0; - dfs->dfs_false_radar_found = 0; } void dfs_host_wait_timer_init(struct wlan_dfs *dfs) @@ -532,8 +530,7 @@ void dfs_extract_radar_found_params(struct wlan_dfs *dfs, dfs->dfs_average_pri = 0; } -void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, uint8_t seg_id, - int false_radar_found) +void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, uint8_t seg_id) { struct dfs_radar_found_params params; @@ -543,7 +540,6 @@ void dfs_radarfound_action_fcc(struct wlan_dfs *dfs, uint8_t seg_id, dfs_send_avg_params_to_fw(dfs, ¶ms); dfs->dfs_is_host_wait_running = 1; dfs->dfs_seg_id = seg_id; - dfs->dfs_false_radar_found = false_radar_found; qdf_timer_mod(&dfs->dfs_host_wait_timer, (dfs->dfs_status_timeout_override == -1) ? HOST_DFS_STATUS_WAIT_TIMER_MS : @@ -611,8 +607,7 @@ void dfs_action_on_fw_radar_status_check(struct wlan_dfs *dfs, dfs->dfs_curchan->dfs_ch_freq) { dfs_radarfound_action_generic( dfs, - dfs->dfs_seg_id, - dfs->dfs_false_radar_found); + dfs->dfs_seg_id); } else { /* Else of this case, no action is needed as * dfs_action would have been done at timer diff --git a/umac/dfs/core/src/filtering/dfs_process_radarevent.c b/umac/dfs/core/src/filtering/dfs_process_radarevent.c index 77fa75ba6f..89c4f1f89f 100644 --- a/umac/dfs/core/src/filtering/dfs_process_radarevent.c +++ b/umac/dfs/core/src/filtering/dfs_process_radarevent.c @@ -1269,8 +1269,7 @@ static inline void dfs_false_radarfound_reset_vars( dfs->dfs_phyerr_w53_counter = 0; } -void dfs_radarfound_action_generic(struct wlan_dfs *dfs, - uint8_t seg_id, int false_radar_found) +void dfs_radarfound_action_generic(struct wlan_dfs *dfs, uint8_t seg_id) { struct radar_found_info *radar_found; @@ -1288,15 +1287,11 @@ void dfs_radarfound_action_generic(struct wlan_dfs *dfs, dfs_process_radar_ind(dfs, radar_found); qdf_mem_free(radar_found); - - if (false_radar_found) - dfs_false_radarfound_reset_vars(dfs); } void dfs_radar_found_action(struct wlan_dfs *dfs, bool bangradar, - uint8_t seg_id, - int false_radar_found) + uint8_t seg_id) { /* If Host DFS confirmation is supported, save the curchan as * radar found chan, send radar found indication along with @@ -1306,9 +1301,9 @@ void dfs_radar_found_action(struct wlan_dfs *dfs, if (!bangradar && (utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_FCC_DOMAIN) && lmac_is_host_dfs_check_support_enabled(dfs->dfs_pdev_obj)) { - dfs_radarfound_action_fcc(dfs, seg_id, false_radar_found); + dfs_radarfound_action_fcc(dfs, seg_id); } else { - dfs_radarfound_action_generic(dfs, seg_id, false_radar_found); + dfs_radarfound_action_generic(dfs, seg_id); } } @@ -1343,8 +1338,9 @@ void dfs_process_radarevent( dfsfound: if (retval) { dfs_radarfound_reset_vars(dfs, rs, chan, seg_id); - dfs_radar_found_action(dfs, bangradar, seg_id, - false_radar_found); + dfs_radar_found_action(dfs, bangradar, seg_id); } + if (false_radar_found) + dfs_false_radarfound_reset_vars(dfs); }