diff options
-rw-r--r-- | drivers/net/wireless/ath/ath10k/wmi.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/dfs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/dfs_pattern_detector.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/ath/dfs_pattern_detector.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ath/dfs_pri_detector.h | 3 |
5 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c index 46fb96ee5852..1bccac002e97 100644 --- a/drivers/net/wireless/ath/ath10k/wmi.c +++ b/drivers/net/wireless/ath/ath10k/wmi.c | |||
@@ -3757,7 +3757,7 @@ static void ath10k_dfs_radar_report(struct ath10k *ar, | |||
3757 | 3757 | ||
3758 | ATH10K_DFS_STAT_INC(ar, pulses_detected); | 3758 | ATH10K_DFS_STAT_INC(ar, pulses_detected); |
3759 | 3759 | ||
3760 | if (!ar->dfs_detector->add_pulse(ar->dfs_detector, &pe)) { | 3760 | if (!ar->dfs_detector->add_pulse(ar->dfs_detector, &pe, NULL)) { |
3761 | ath10k_dbg(ar, ATH10K_DBG_REGULATORY, | 3761 | ath10k_dbg(ar, ATH10K_DBG_REGULATORY, |
3762 | "dfs no pulse pattern detected, yet\n"); | 3762 | "dfs no pulse pattern detected, yet\n"); |
3763 | return; | 3763 | return; |
diff --git a/drivers/net/wireless/ath/ath9k/dfs.c b/drivers/net/wireless/ath/ath9k/dfs.c index c8844f55574c..acb9602aa464 100644 --- a/drivers/net/wireless/ath/ath9k/dfs.c +++ b/drivers/net/wireless/ath/ath9k/dfs.c | |||
@@ -277,7 +277,7 @@ ath9k_dfs_process_radar_pulse(struct ath_softc *sc, struct pulse_event *pe) | |||
277 | DFS_STAT_INC(sc, pulses_processed); | 277 | DFS_STAT_INC(sc, pulses_processed); |
278 | if (pd == NULL) | 278 | if (pd == NULL) |
279 | return; | 279 | return; |
280 | if (!pd->add_pulse(pd, pe)) | 280 | if (!pd->add_pulse(pd, pe, NULL)) |
281 | return; | 281 | return; |
282 | DFS_STAT_INC(sc, radar_detected); | 282 | DFS_STAT_INC(sc, radar_detected); |
283 | ieee80211_radar_detected(sc->hw); | 283 | ieee80211_radar_detected(sc->hw); |
diff --git a/drivers/net/wireless/ath/dfs_pattern_detector.c b/drivers/net/wireless/ath/dfs_pattern_detector.c index 448b83eea810..d52b31b45df7 100644 --- a/drivers/net/wireless/ath/dfs_pattern_detector.c +++ b/drivers/net/wireless/ath/dfs_pattern_detector.c | |||
@@ -268,7 +268,8 @@ static void dpd_exit(struct dfs_pattern_detector *dpd) | |||
268 | } | 268 | } |
269 | 269 | ||
270 | static bool | 270 | static bool |
271 | dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event) | 271 | dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event, |
272 | struct radar_detector_specs *rs) | ||
272 | { | 273 | { |
273 | u32 i; | 274 | u32 i; |
274 | struct channel_detector *cd; | 275 | struct channel_detector *cd; |
@@ -294,6 +295,8 @@ dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event) | |||
294 | struct pri_detector *pd = cd->detectors[i]; | 295 | struct pri_detector *pd = cd->detectors[i]; |
295 | struct pri_sequence *ps = pd->add_pulse(pd, event); | 296 | struct pri_sequence *ps = pd->add_pulse(pd, event); |
296 | if (ps != NULL) { | 297 | if (ps != NULL) { |
298 | if (rs != NULL) | ||
299 | memcpy(rs, pd->rs, sizeof(*rs)); | ||
297 | ath_dbg(dpd->common, DFS, | 300 | ath_dbg(dpd->common, DFS, |
298 | "DFS: radar found on freq=%d: id=%d, pri=%d, " | 301 | "DFS: radar found on freq=%d: id=%d, pri=%d, " |
299 | "count=%d, count_false=%d\n", | 302 | "count=%d, count_false=%d\n", |
diff --git a/drivers/net/wireless/ath/dfs_pattern_detector.h b/drivers/net/wireless/ath/dfs_pattern_detector.h index 92be3530e9b5..18db6f4f3568 100644 --- a/drivers/net/wireless/ath/dfs_pattern_detector.h +++ b/drivers/net/wireless/ath/dfs_pattern_detector.h | |||
@@ -97,7 +97,8 @@ struct dfs_pattern_detector { | |||
97 | bool (*set_dfs_domain)(struct dfs_pattern_detector *dpd, | 97 | bool (*set_dfs_domain)(struct dfs_pattern_detector *dpd, |
98 | enum nl80211_dfs_regions region); | 98 | enum nl80211_dfs_regions region); |
99 | bool (*add_pulse)(struct dfs_pattern_detector *dpd, | 99 | bool (*add_pulse)(struct dfs_pattern_detector *dpd, |
100 | struct pulse_event *pe); | 100 | struct pulse_event *pe, |
101 | struct radar_detector_specs *rs); | ||
101 | 102 | ||
102 | struct ath_dfs_pool_stats (*get_stats)(struct dfs_pattern_detector *dpd); | 103 | struct ath_dfs_pool_stats (*get_stats)(struct dfs_pattern_detector *dpd); |
103 | enum nl80211_dfs_regions region; | 104 | enum nl80211_dfs_regions region; |
diff --git a/drivers/net/wireless/ath/dfs_pri_detector.h b/drivers/net/wireless/ath/dfs_pri_detector.h index 79f0fff4d1e6..86339f2b4d3a 100644 --- a/drivers/net/wireless/ath/dfs_pri_detector.h +++ b/drivers/net/wireless/ath/dfs_pri_detector.h | |||
@@ -62,8 +62,9 @@ struct pri_detector { | |||
62 | (*add_pulse)(struct pri_detector *de, struct pulse_event *e); | 62 | (*add_pulse)(struct pri_detector *de, struct pulse_event *e); |
63 | void (*reset) (struct pri_detector *de, u64 ts); | 63 | void (*reset) (struct pri_detector *de, u64 ts); |
64 | 64 | ||
65 | /* private: internal use only */ | ||
66 | const struct radar_detector_specs *rs; | 65 | const struct radar_detector_specs *rs; |
66 | |||
67 | /* private: internal use only */ | ||
67 | u64 last_ts; | 68 | u64 last_ts; |
68 | struct list_head sequences; | 69 | struct list_head sequences; |
69 | struct list_head pulses; | 70 | struct list_head pulses; |