[PATCH] [PATCH]Fixed: line break of pr_cont not take effect in linux-rt

From: root
Date: Wed May 20 2020 - 21:56:48 EST


From: æå10269566 <wang.yong12@xxxxxxxxxx>

Line break of pr_cont not take effect.
Use several pr_cont to print continuous paragraph, it is expected to
have line break when line ends up with '\n', however the paragraph
does not have line break
-printk_kthread_func will not print info before log_store insert msg
into printk_rb, and pr_cont calls cont_add to keep data in buffer.
cont_add only when the following conditions are met insert msg to
printk_rb
1.cpu != c->cpu_owner || !(flags & LOG_CONT)
2.c->len + len > sizeof(c->buf)

Signed-off-by: æå10269566 <wang.yong12@xxxxxxxxxx>
---
kernel/printk/printk.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 0605a74..d898f50 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1871,6 +1871,7 @@ static void cont_add(int ctx, int cpu, u32 caller_id, int facility, int level,
// but later continuations can add a newline.
if (flags & LOG_NEWLINE) {
c->flags |= LOG_NEWLINE;
+ cont_flush(ctx);
}
}

--
2.15.2