2014-05-21 10:41:51

by Zefir Kurtisi

[permalink] [raw]
Subject: [PATCH] ath9k: fix build error with disabled debug

DFS pulse interval printing is only available
when CONFIG_ATH9K_DEBUGFS is set.

Signed-off-by: Zefir Kurtisi <[email protected]>
---
drivers/net/wireless/ath/ath9k/dfs.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath9k/dfs.c b/drivers/net/wireless/ath/ath9k/dfs.c
index 5049bec..e0c740d 100644
--- a/drivers/net/wireless/ath/ath9k/dfs.c
+++ b/drivers/net/wireless/ath/ath9k/dfs.c
@@ -178,12 +178,14 @@ void ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
pe.ts = mactime;
if (ath9k_postprocess_radar_event(sc, &ard, &pe)) {
struct dfs_pattern_detector *pd = sc->dfs_detector;
+#ifdef CONFIG_ATH9K_DEBUGFS
ath_dbg(common, DFS,
"ath9k_dfs_process_phyerr: channel=%d, ts=%llu, "
"width=%d, rssi=%d, delta_ts=%llu\n",
pe.freq, pe.ts, pe.width, pe.rssi,
pe.ts - sc->debug.stats.dfs_stats.last_ts);
sc->debug.stats.dfs_stats.last_ts = pe.ts;
+#endif
DFS_STAT_INC(sc, pulses_processed);
if (pd != NULL && pd->add_pulse(pd, &pe)) {
DFS_STAT_INC(sc, radar_detected);
--
1.9.1



2014-05-23 14:45:12

by John W. Linville

[permalink] [raw]
Subject: Re: [PATCH] ath9k: fix build error with disabled debug

On Fri, May 23, 2014 at 10:15:08AM +0200, Zefir Kurtisi wrote:
> On 05/22/2014 03:15 PM, Kalle Valo wrote:
> > Zefir Kurtisi <[email protected]> writes:
> >
> >> DFS pulse interval printing is only available
> >> when CONFIG_ATH9K_DEBUGFS is set.
> >>
> >> Signed-off-by: Zefir Kurtisi <[email protected]>
> >
> > [...]
> >
> >> --- a/drivers/net/wireless/ath/ath9k/dfs.c
> >> +++ b/drivers/net/wireless/ath/ath9k/dfs.c
> >> @@ -178,12 +178,14 @@ void ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
> >> pe.ts = mactime;
> >> if (ath9k_postprocess_radar_event(sc, &ard, &pe)) {
> >> struct dfs_pattern_detector *pd = sc->dfs_detector;
> >> +#ifdef CONFIG_ATH9K_DEBUGFS
> >
> > IMHO config_enabled() is much nicer than ifdef.
> >
>
> Actually, I dislike both of them.
>
> While this is for debug printing only, it is still a bad idea to use variables in
> debugfs dependent space and splatter source code with required checks. I'll move
> that into a different context and post a follow-up patch.
>
>
> John, please drop this one.

Actually, I merged it yesterday. Please submit your follow-up patch
on top of this one.

John
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2014-05-23 08:15:16

by Zefir Kurtisi

[permalink] [raw]
Subject: Re: [PATCH] ath9k: fix build error with disabled debug

On 05/22/2014 03:15 PM, Kalle Valo wrote:
> Zefir Kurtisi <[email protected]> writes:
>
>> DFS pulse interval printing is only available
>> when CONFIG_ATH9K_DEBUGFS is set.
>>
>> Signed-off-by: Zefir Kurtisi <[email protected]>
>
> [...]
>
>> --- a/drivers/net/wireless/ath/ath9k/dfs.c
>> +++ b/drivers/net/wireless/ath/ath9k/dfs.c
>> @@ -178,12 +178,14 @@ void ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
>> pe.ts = mactime;
>> if (ath9k_postprocess_radar_event(sc, &ard, &pe)) {
>> struct dfs_pattern_detector *pd = sc->dfs_detector;
>> +#ifdef CONFIG_ATH9K_DEBUGFS
>
> IMHO config_enabled() is much nicer than ifdef.
>

Actually, I dislike both of them.

While this is for debug printing only, it is still a bad idea to use variables in
debugfs dependent space and splatter source code with required checks. I'll move
that into a different context and post a follow-up patch.


John, please drop this one.

2014-05-23 15:23:09

by Zefir Kurtisi

[permalink] [raw]
Subject: [PATCH] ath9k: simplify DFS pulse interval debug printing

Make DFS pulse interval calculation independent
from CONFIG_ATH9K_DEBUGFS.

Signed-off-by: Zefir Kurtisi <[email protected]>
---
drivers/net/wireless/ath/ath9k/ath9k.h | 1 +
drivers/net/wireless/ath/ath9k/dfs.c | 6 ++----
drivers/net/wireless/ath/ath9k/dfs_debug.h | 1 -
3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index b204694..2ca8f7e 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -770,6 +770,7 @@ struct ath_softc {
struct ath_ant_comb ant_comb;
u8 ant_tx, ant_rx;
struct dfs_pattern_detector *dfs_detector;
+ u64 dfs_prev_pulse_ts;
u32 wow_enabled;
/* relay(fs) channel for spectral scan */
struct rchan *rfs_chan_spec_scan;
diff --git a/drivers/net/wireless/ath/ath9k/dfs.c b/drivers/net/wireless/ath/ath9k/dfs.c
index e0c740d..726271c 100644
--- a/drivers/net/wireless/ath/ath9k/dfs.c
+++ b/drivers/net/wireless/ath/ath9k/dfs.c
@@ -178,14 +178,12 @@ void ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
pe.ts = mactime;
if (ath9k_postprocess_radar_event(sc, &ard, &pe)) {
struct dfs_pattern_detector *pd = sc->dfs_detector;
-#ifdef CONFIG_ATH9K_DEBUGFS
ath_dbg(common, DFS,
"ath9k_dfs_process_phyerr: channel=%d, ts=%llu, "
"width=%d, rssi=%d, delta_ts=%llu\n",
pe.freq, pe.ts, pe.width, pe.rssi,
- pe.ts - sc->debug.stats.dfs_stats.last_ts);
- sc->debug.stats.dfs_stats.last_ts = pe.ts;
-#endif
+ pe.ts - sc->dfs_prev_pulse_ts);
+ sc->dfs_prev_pulse_ts = pe.ts;
DFS_STAT_INC(sc, pulses_processed);
if (pd != NULL && pd->add_pulse(pd, &pe)) {
DFS_STAT_INC(sc, radar_detected);
diff --git a/drivers/net/wireless/ath/ath9k/dfs_debug.h b/drivers/net/wireless/ath/ath9k/dfs_debug.h
index d948686..7936c91 100644
--- a/drivers/net/wireless/ath/ath9k/dfs_debug.h
+++ b/drivers/net/wireless/ath/ath9k/dfs_debug.h
@@ -51,7 +51,6 @@ struct ath_dfs_stats {
/* pattern detection stats */
u32 pulses_processed;
u32 radar_detected;
- u64 last_ts;
};

#if defined(CONFIG_ATH9K_DFS_DEBUGFS)
--
1.9.1


2014-05-22 13:15:34

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath9k: fix build error with disabled debug

Zefir Kurtisi <[email protected]> writes:

> DFS pulse interval printing is only available
> when CONFIG_ATH9K_DEBUGFS is set.
>
> Signed-off-by: Zefir Kurtisi <[email protected]>

[...]

> --- a/drivers/net/wireless/ath/ath9k/dfs.c
> +++ b/drivers/net/wireless/ath/ath9k/dfs.c
> @@ -178,12 +178,14 @@ void ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
> pe.ts = mactime;
> if (ath9k_postprocess_radar_event(sc, &ard, &pe)) {
> struct dfs_pattern_detector *pd = sc->dfs_detector;
> +#ifdef CONFIG_ATH9K_DEBUGFS

IMHO config_enabled() is much nicer than ifdef.

--
Kalle Valo