[PATCH] ath9k: Add wiphy name to log messages.

Subsystems: atheros ath generic utilities, the rest

STALE5300d

2 messages, 2 authors, 2012-03-08 · open the first message on its own page

[PATCH] ath9k: Add wiphy name to log messages.

From: <hidden>
Date: 2012-03-08 00:05:19

From: Ben Greear <redacted>

On systems with multiple NICs, it's nice to know which
one is producing warnings.  Here is an example of the
new ouput:

ath: wiphy0: Failed to stop TX DMA, queues=0x005!

Signed-off-by: Ben Greear <redacted>
---
:100644 100644 efc0111... 54f255d... M	drivers/net/wireless/ath/ath.h
:100644 100644 d9218fe... ea2c737... M	drivers/net/wireless/ath/main.c
 drivers/net/wireless/ath/ath.h  |    7 ++++---
 drivers/net/wireless/ath/main.c |    9 +++++++--
 2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index efc0111..54f255d 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -174,12 +174,13 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry);
 void ath_hw_cycle_counters_update(struct ath_common *common);
 int32_t ath_hw_get_listen_time(struct ath_common *common);
 
-extern __printf(2, 3) void ath_printk(const char *level, const char *fmt, ...);
+extern __printf(3, 4) void ath_printk(const char *level,
+				      const struct ath_common *common,
+				      const char *fmt, ...);
 
 #define _ath_printk(level, common, fmt, ...)			\
 do {								\
-	__always_unused struct ath_common *unused = common;	\
-	ath_printk(level, fmt, ##__VA_ARGS__);			\
+	ath_printk(level, common, fmt, ##__VA_ARGS__);		\
 } while (0)
 
 #define ath_emerg(common, fmt, ...)				\
diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
index d9218fe..ea2c737 100644
--- a/drivers/net/wireless/ath/main.c
+++ b/drivers/net/wireless/ath/main.c
@@ -57,7 +57,8 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
 }
 EXPORT_SYMBOL(ath_rxbuf_alloc);
 
-void ath_printk(const char *level, const char *fmt, ...)
+void ath_printk(const char *level, const struct ath_common* common,
+		const char *fmt, ...)
 {
 	struct va_format vaf;
 	va_list args;
@@ -67,7 +68,11 @@ void ath_printk(const char *level, const char *fmt, ...)
 	vaf.fmt = fmt;
 	vaf.va = &args;
 
-	printk("%sath: %pV", level, &vaf);
+	if (common && common->hw && common->hw->wiphy)
+		printk("%sath: %s: %pV",
+		       level, wiphy_name(common->hw->wiphy), &vaf);
+	else
+		printk("%sath: %pV", level, &vaf);
 
 	va_end(args);
 }
-- 
1.7.3.4

Re: [PATCH] ath9k: Add wiphy name to log messages.

From: Joe Perches <joe@perches.com>
Date: 2012-03-08 00:55:02

On Wed, 2012-03-07 at 16:05 -0800, greearb@candelatech.com wrote:
From: Ben Greear <redacted>

On systems with multiple NICs, it's nice to know which
one is producing warnings.  Here is an example of the
new ouput:

ath: wiphy0: Failed to stop TX DMA, queues=0x005!
Makes some sense.
quoted hunk
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
[]
quoted hunk
@@ -174,12 +174,13 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry);
 void ath_hw_cycle_counters_update(struct ath_common *common);
 int32_t ath_hw_get_listen_time(struct ath_common *common);
 
-extern __printf(2, 3) void ath_printk(const char *level, const char *fmt, ...);
+extern __printf(3, 4) void ath_printk(const char *level,
+				      const struct ath_common *common,
+				      const char *fmt, ...);
Maybe

__printf(3, 4)
void ath_printk(etc...
 
 #define _ath_printk(level, common, fmt, ...)			\
 do {								\
-	__always_unused struct ath_common *unused = common;	\
-	ath_printk(level, fmt, ##__VA_ARGS__);			\
+	ath_printk(level, common, fmt, ##__VA_ARGS__);		\
 } while (0)
 
 #define ath_emerg(common, fmt, ...)				\
It's probably better to remove the _ath_printk
indirection altogether and just use ath_printk
directly in the ath_<level> macros.
quoted hunk
diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
[]
quoted hunk
@@ -57,7 +57,8 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
 }
 EXPORT_SYMBOL(ath_rxbuf_alloc);
 
-void ath_printk(const char *level, const char *fmt, ...)
+void ath_printk(const char *level, const struct ath_common* common,
+		const char *fmt, ...)
 {
 	struct va_format vaf;
 	va_list args;
@@ -67,7 +68,11 @@ void ath_printk(const char *level, const char *fmt, ...)
 	vaf.fmt = fmt;
 	vaf.va = &args;
 
-	printk("%sath: %pV", level, &vaf);
+	if (common && common->hw && common->hw->wiphy)
+		printk("%sath: %s: %pV",
+		       level, wiphy_name(common->hw->wiphy), &vaf);
+	else
+		printk("%sath: %pV", level, &vaf);
 
 	va_end(args);
Maybe it's better to print wiphyX: only when
multiple ath nics exist?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help