Browse Source

qcacmn: Stop and reset the DFS test timer for Full-offload

DFS test timer is initialized and used by Full-offload but the timer is not
reset during DFS reset.

Reset DFS task timer during DFS reset.

Change-Id: I5d5395744a98e5ca2a7a94971e7c1c6e6e0b174f
CRs-Fixed: 2252612
Vignesh U 6 years ago
parent
commit
8178d6fcb0

+ 6 - 0
umac/dfs/core/src/dfs.h

@@ -2296,4 +2296,10 @@ void dfs_nol_free_list(struct wlan_dfs *dfs);
  */
 int dfs_second_segment_radar_disable(struct wlan_dfs *dfs);
 
+/**
+ * dfs_task_testtimer_reset() - stop dfs test timer.
+ * @dfs: Pointer to wlan_dfs structure.
+ */
+void dfs_task_testtimer_reset(struct wlan_dfs *dfs);
+
 #endif  /* _DFS_H_ */

+ 9 - 0
umac/dfs/core/src/misc/dfs.c

@@ -136,6 +136,14 @@ void dfs_stop(struct wlan_dfs *dfs)
 	dfs_clear_nolhistory(dfs);
 }
 
+void dfs_task_testtimer_reset(struct wlan_dfs *dfs)
+{
+	if (dfs->wlan_dfstest) {
+		qdf_timer_stop(&dfs->wlan_dfstesttimer);
+		dfs->wlan_dfstest = 0;
+	}
+}
+
 void dfs_reset(struct wlan_dfs *dfs)
 {
 	if (!dfs) {
@@ -149,6 +157,7 @@ void dfs_reset(struct wlan_dfs *dfs)
 		dfs_main_timer_reset(dfs);
 		dfs->dfs_event_log_count = 0;
 	}
+	dfs_task_testtimer_reset(dfs);
 }
 
 void dfs_detach(struct wlan_dfs *dfs)

+ 0 - 5
umac/dfs/core/src/misc/dfs_filter_init.c

@@ -222,11 +222,6 @@ void dfs_main_timer_reset(struct wlan_dfs *dfs)
 		qdf_timer_stop(&dfs->wlan_dfs_task_timer);
 		dfs->wlan_radar_tasksched = 0;
 	}
-
-	if (dfs->wlan_dfstest) {
-		qdf_timer_stop(&dfs->wlan_dfstesttimer);
-		dfs->wlan_dfstest = 0;
-	}
 }
 
 void dfs_main_detach(struct wlan_dfs *dfs)