[PATCH] dynamic_debug: use printk(KERN_WARNING..) in stub function

From: Jim Cromie
Date: Tue May 01 2012 - 07:23:44 EST


drivers/infiniband/ulp/srp/ib_srp.c #defines pr_fmt() PFX fmt, but PFX
is not #defined until after <linux/*> headers are included.

This results in a bad expansion of the pr_warn() in the stub function.

2084c2084
< printk("<4>" PFX "dyndbg supported only in " "CONFIG_DYNAMIC_DEBUG builds\n")
---
> printk("<4>" "guano" "dyndbg supported only in " "CONFIG_DYNAMIC_DEBUG builds\n")
(END)

While that use-case is less than ideal, it will probably happen again,
and its easy to avoid by using raw printk().

To: Bart Van Assche bvanassche@xxxxxxx
To: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
CC: Greg KH <greg@xxxxxxxxx>
CC: linux-next@xxxxxxxxxxxxxxx
CC: Roland Dreier <roland@xxxxxxxxxxxxxxx>
CC: Jason Baron <jbaron@xxxxxxxxxx>
CC: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
---
include/linux/dynamic_debug.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
index 4697e4b..c18257b 100644
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h
@@ -109,7 +109,8 @@ static inline int ddebug_dyndbg_module_param_cb(char *param, char *val,
const char *modname)
{
if (strstr(param, "dyndbg")) {
- pr_warn("dyndbg supported only in "
+ /* avoid pr_warn(), which wants pr_fmt() fully defined */
+ printk(KERN_WARNING "dyndbg param is supported only in "
"CONFIG_DYNAMIC_DEBUG builds\n");
return 0; /* allow and ignore */
}
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/