diff mbox series

[-next] ath11k: add dependency for struct ath11k member debug

Message ID 20191213012417.130719-1-maowenan@huawei.com (mailing list archive)
State New, archived
Headers show
Series [-next] ath11k: add dependency for struct ath11k member debug | expand

Commit Message

Mao Wenan Dec. 13, 2019, 1:24 a.m. UTC
If CONFIG_ATH11K, CONFIG_MAC80211_DEBUGFS are set,
and CONFIG_ATH11K_DEBUGFS is not set, below error can be found,
drivers/net/wireless/ath/ath11k/debugfs_sta.c: In function ath11k_dbg_sta_open_htt_peer_stats:
drivers/net/wireless/ath/ath11k/debugfs_sta.c:411:4: error: struct ath11k has no member named debug
  ar->debug.htt_stats.stats_req = stats_req;

It is to add the dependency for the member of struct ath11k.

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Mao Wenan <maowenan@huawei.com>
---
 drivers/net/wireless/ath/ath11k/debugfs_sta.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kalle Valo Dec. 19, 2019, 1:38 p.m. UTC | #1
Mao Wenan <maowenan@huawei.com> writes:

> If CONFIG_ATH11K, CONFIG_MAC80211_DEBUGFS are set,
> and CONFIG_ATH11K_DEBUGFS is not set, below error can be found,
> drivers/net/wireless/ath/ath11k/debugfs_sta.c: In function ath11k_dbg_sta_open_htt_peer_stats:
> drivers/net/wireless/ath/ath11k/debugfs_sta.c:411:4: error: struct ath11k has no member named debug
>   ar->debug.htt_stats.stats_req = stats_req;
>
> It is to add the dependency for the member of struct ath11k.
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Mao Wenan <maowenan@huawei.com>
> ---
>  drivers/net/wireless/ath/ath11k/debugfs_sta.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> index 3c5f931..bcc51d7 100644
> --- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> +++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> @@ -408,7 +408,9 @@ ath11k_dbg_sta_open_htt_peer_stats(struct inode *inode, struct file *file)
>  		return -ENOMEM;
>  
>  	mutex_lock(&ar->conf_mutex);
> +#ifdef CONFIG_ATH11K_DEBUGFS
>  	ar->debug.htt_stats.stats_req = stats_req;
> +#endif

ifdefs are ugly and I don't think this is the root cause for the
problem. I suspect (but not sure!) that ATH11K_DEBUGFS should depend on
MAC80211_DEBUGFS, not DEBUG_FS like it does now. Or would there be a
valid reason to have ATH11K_DEBUGFS enabled but not MAC80211_DEBUGFS?

Then we could also change Makefile to this:

ath11k-$(CONFIG_ATH11K_DEBUGFS) += debugfs_sta.o

And hopefully get rid of an ifdef:

drivers/net/wireless/ath/ath11k/debug.h:#ifdef CONFIG_MAC80211_DEBUGFS
drivers/net/wireless/ath/ath11k/debug.h:#else /* !CONFIG_MAC80211_DEBUGFS */
drivers/net/wireless/ath/ath11k/debug.h:#endif /* CONFIG_MAC80211_DEBUGFS*/

Care to try this out?
Kalle Valo Jan. 15, 2020, 9:18 a.m. UTC | #2
Mao Wenan <maowenan@huawei.com> wrote:

> If CONFIG_ATH11K, CONFIG_MAC80211_DEBUGFS are set,
> and CONFIG_ATH11K_DEBUGFS is not set, below error can be found,
> drivers/net/wireless/ath/ath11k/debugfs_sta.c: In function ath11k_dbg_sta_open_htt_peer_stats:
> drivers/net/wireless/ath/ath11k/debugfs_sta.c:411:4: error: struct ath11k has no member named debug
>   ar->debug.htt_stats.stats_req = stats_req;
> 
> It is to add the dependency for the member of struct ath11k.
> 
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Mao Wenan <maowenan@huawei.com>

Arnd already did something what I proposed:
https://patchwork.kernel.org/patch/11321921/

Patch set to Superseded.
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
index 3c5f931..bcc51d7 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
@@ -408,7 +408,9 @@  ath11k_dbg_sta_open_htt_peer_stats(struct inode *inode, struct file *file)
 		return -ENOMEM;
 
 	mutex_lock(&ar->conf_mutex);
+#ifdef CONFIG_ATH11K_DEBUGFS
 	ar->debug.htt_stats.stats_req = stats_req;
+#endif
 	stats_req->type = ATH11K_DBG_HTT_EXT_STATS_PEER_INFO;
 	memcpy(stats_req->peer_addr, sta->addr, ETH_ALEN);
 	ret = ath11k_dbg_htt_stats_req(ar);