Rewrite argo_dprintk() so printk() format typechecking can always be performed. This also fixes the evaluation of parameters. Emit the messages at XENLOG_DEBUG.
Signed-off-by: Andrew Cooper <[email protected]> --- CC: Jason Andryuk <[email protected]> CC: Christopher Clark <[email protected]> --- xen/common/argo.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/xen/common/argo.c b/xen/common/argo.c index 9ad2ecaa1e42..f29fa720fc48 100644 --- a/xen/common/argo.c +++ b/xen/common/argo.c @@ -313,14 +313,12 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */ ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \ LOCKING_Write_L1) -/* Change this to #define ARGO_DEBUG here to enable more debug messages */ -#undef ARGO_DEBUG - -#ifdef ARGO_DEBUG -#define argo_dprintk(format, args...) printk("argo: " format, ## args ) -#else -#define argo_dprintk(format, ... ) ((void)0) -#endif +#define ARGO_DEBUG 0 +#define argo_dprintk(fmt, args...) \ + do { \ + if ( ARGO_DEBUG ) \ + printk(XENLOG_DEBUG "argo: " fmt, ##args); \ + } while ( 0 ) /* * This hash function is used to distribute rings within the per-domain -- 2.11.0
