lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 07 Mar 2012 16:54:59 -0800 From: Joe Perches <joe@...ches.com> To: greearb@...delatech.com Cc: ath9k-devel@...ema.h4ckr.net, netdev@...r.kernel.org Subject: Re: [PATCH] ath9k: Add wiphy name to log messages. On Wed, 2012-03-07 at 16:05 -0800, greearb@...delatech.com wrote: > From: Ben Greear <greearb@...delatech.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? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists