On Wed, 2012-03-07 at 16:05 -0800, gree...@candelatech.com wrote: > From: Ben Greear <gree...@candelatech.com> > > 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. > diff --git 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, ...); 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. > diff --git 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); Maybe it's better to print wiphyX: only when multiple ath nics exist? _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel