It turns out that printk(KERN_DEBUG (aka pr_debug() once enabled) enforces a new line. So the character printing code was printing only one character in each line which is most likely not intended. This patch introduces pr_debugc() which evalues to printk(KERN_CONT and uses it here. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- drivers/target/target_core_transport.c | 12 ++++++------ include/linux/printk.h | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 3400ae6..8c2a794 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -1283,23 +1283,23 @@ static void scsi_dump_inquiry(struct se_device *dev) pr_debug(" Vendor: "); for (i = 0; i < 8; i++) if (wwn->vendor[i] >= 0x20) - pr_debug("%c", wwn->vendor[i]); + pr_debugc("%c", wwn->vendor[i]); else - pr_debug(" "); + pr_debugc(" "); pr_debug(" Model: "); for (i = 0; i < 16; i++) if (wwn->model[i] >= 0x20) - pr_debug("%c", wwn->model[i]); + pr_debugc("%c", wwn->model[i]); else - pr_debug(" "); + pr_debugc(" "); pr_debug(" Revision: "); for (i = 0; i < 4; i++) if (wwn->revision[i] >= 0x20) - pr_debug("%c", wwn->revision[i]); + pr_debugc("%c", wwn->revision[i]); else - pr_debug(" "); + pr_debugc(" "); pr_debug("\n"); diff --git a/include/linux/printk.h b/include/linux/printk.h index f0e22f7..0d4dc8a 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -183,6 +183,9 @@ extern void dump_stack(void) __cold; #if defined(DEBUG) #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) +#define pr_debugc(fmt, ...) \ + printk(KERN_CONT pr_fmt(fmt), ##__VA_ARGS__) + #elif defined(CONFIG_DYNAMIC_DEBUG) /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ #define pr_debug(fmt, ...) \ @@ -190,6 +193,8 @@ extern void dump_stack(void) __cold; #else #define pr_debug(fmt, ...) \ no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) +#define pr_debugc(fmt, ...) \ + no_printk(KERN_CONT pr_fmt(fmt), ##__VA_ARGS__) #endif /* -- 1.7.7.1 -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html