Commit 706452b0 authored by Zefir Kurtisi's avatar Zefir Kurtisi Committed by Kalle Valo

ath: fix DFS timestamp wraparound reset condition

The DFS pattern detector ought to reset the
detector lines when a pulse is added with
lower time stamp than the previous (which
indicates a TSF restart).

This did not work so far and is fixed with
this patch.

The modification does not change detection
performance within the driver, since it
only ensures early reset (which is later
performed by the PRI detectors anyway).
It is relevant for synthetic tests and
statistical evaluations, where millions
of pulse patterns are processed and an
early reset helps reducing load.
Signed-off-by: default avatarZefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 101d1f7f
...@@ -284,10 +284,10 @@ dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event) ...@@ -284,10 +284,10 @@ dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event)
if (cd == NULL) if (cd == NULL)
return false; return false;
dpd->last_pulse_ts = event->ts;
/* reset detector on time stamp wraparound, caused by TSF reset */ /* reset detector on time stamp wraparound, caused by TSF reset */
if (event->ts < dpd->last_pulse_ts) if (event->ts < dpd->last_pulse_ts)
dpd_reset(dpd); dpd_reset(dpd);
dpd->last_pulse_ts = event->ts;
/* do type individual pattern matching */ /* do type individual pattern matching */
for (i = 0; i < dpd->num_radar_types; i++) { for (i = 0; i < dpd->num_radar_types; i++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment