diff options
| author | Jason Baron <jbaron@redhat.com> | 2011-08-11 14:36:48 -0400 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-08-22 18:23:06 -0700 | 
| commit | ffa10cb47a94c9b456c83301c8047e2a898dd409 (patch) | |
| tree | dd0fb674235c51d54fd80540420c23002795048e /include | |
| parent | ac0ac38f68be73b92dc390ceace50a0d143d76ae (diff) | |
| download | olio-linux-3.10-ffa10cb47a94c9b456c83301c8047e2a898dd409.tar.xz olio-linux-3.10-ffa10cb47a94c9b456c83301c8047e2a898dd409.zip  | |
dynamic_debug: make netdev_dbg() call __netdev_printk()
Previously, if dynamic debug was enabled netdev_dbg() was using
dynamic_dev_dbg() to print out the underlying msg. Fix this by making
sure netdev_dbg() uses __netdev_printk().
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/dynamic_debug.h | 17 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 6 | 
2 files changed, 21 insertions, 2 deletions
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 843cb9eb422..feaac1ee300 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -47,6 +47,13 @@ extern int __dynamic_dev_dbg(struct _ddebug *descriptor,  			     const char *fmt, ...)  	__attribute__ ((format (printf, 3, 4))); +struct net_device; + +extern int __dynamic_netdev_dbg(struct _ddebug *descriptor, +			     const struct net_device *dev, +			     const char *fmt, ...) +	__attribute__ ((format (printf, 3, 4))); +  #define dynamic_pr_debug(fmt, ...) do {					\  	static struct _ddebug descriptor				\  	__used								\ @@ -67,6 +74,16 @@ extern int __dynamic_dev_dbg(struct _ddebug *descriptor,  		__dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);	\  	} while (0) +#define dynamic_netdev_dbg(dev, fmt, ...) do {				\ +	static struct _ddebug descriptor				\ +	__used								\ +	__attribute__((section("__verbose"), aligned(8))) =		\ +	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\ +		_DPRINTK_FLAGS_DEFAULT };				\ +	if (unlikely(descriptor.enabled))				\ +		__dynamic_netdev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\ +	} while (0) +  #else  static inline int ddebug_remove_module(const char *mod) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ddee79bb8f1..9333a0300c5 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2617,6 +2617,9 @@ static inline const char *netdev_name(const struct net_device *dev)  	return dev->name;  } +extern int __netdev_printk(const char *level, const struct net_device *dev, +			struct va_format *vaf); +  extern int netdev_printk(const char *level, const struct net_device *dev,  			 const char *format, ...)  	__attribute__ ((format (printf, 3, 4))); @@ -2644,8 +2647,7 @@ extern int netdev_info(const struct net_device *dev, const char *format, ...)  #elif defined(CONFIG_DYNAMIC_DEBUG)  #define netdev_dbg(__dev, format, args...)			\  do {								\ -	dynamic_dev_dbg((__dev)->dev.parent, "%s: " format,	\ -			netdev_name(__dev), ##args);		\ +	dynamic_netdev_dbg(__dev, format, ##args);		\  } while (0)  #else  #define netdev_dbg(__dev, format, args...)			\  |