]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/ath/dfs_pri_detector.c
Merge ath-next from ath.git
[karo-tx-linux.git] / drivers / net / wireless / ath / dfs_pri_detector.c
index 1b5ad1965607cd287ca211d2232da1cdcc8d73fc..05b0464c6b92c35fb7ccf30c66578450e15d4e68 100644 (file)
@@ -25,6 +25,9 @@ struct ath_dfs_pool_stats global_dfs_pool_stats = {};
 
 #define DFS_POOL_STAT_INC(c) (global_dfs_pool_stats.c++)
 #define DFS_POOL_STAT_DEC(c) (global_dfs_pool_stats.c--)
+#define GET_PRI_TO_USE(MIN, MAX, RUNTIME) \
+       (MIN + PRI_TOLERANCE == MAX - PRI_TOLERANCE ? \
+       MIN + PRI_TOLERANCE : RUNTIME)
 
 /**
  * struct pulse_elem - elements in pulse queue
@@ -243,7 +246,8 @@ static bool pseq_handler_create_sequences(struct pri_detector *pde,
                ps.count_falses = 0;
                ps.first_ts = p->ts;
                ps.last_ts = ts;
-               ps.pri = ts - p->ts;
+               ps.pri = GET_PRI_TO_USE(pde->rs->pri_min,
+                       pde->rs->pri_max, ts - p->ts);
                ps.dur = ps.pri * (pde->rs->ppb - 1)
                                + 2 * pde->rs->max_pri_tolerance;
 
@@ -273,7 +277,7 @@ static bool pseq_handler_create_sequences(struct pri_detector *pde,
                                tmp_false_count++;
                        }
                }
-               if (ps.count < min_count)
+               if (ps.count <= min_count)
                        /* did not reach minimum count, drop sequence */
                        continue;