]> Pileus Git - ~andy/linux/blobdiff - kernel/printk/printk.c
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / kernel / printk / printk.c
index f8b41bddc6dcd54d31af4625306177c6cb6b22f3..b1d255f041351779dacb5341dbcb0c0c4a09fb87 100644 (file)
@@ -1595,10 +1595,13 @@ asmlinkage int vprintk_emit(int facility, int level,
                 * either merge it with the current buffer and flush, or if
                 * there was a race with interrupts (prefix == true) then just
                 * flush it out and store this line separately.
+                * If the preceding printk was from a different task and missed
+                * a newline, flush and append the newline.
                 */
-               if (cont.len && cont.owner == current) {
-                       if (!(lflags & LOG_PREFIX))
-                               stored = cont_add(facility, level, text, text_len);
+               if (cont.len) {
+                       if (cont.owner == current && !(lflags & LOG_PREFIX))
+                               stored = cont_add(facility, level, text,
+                                                 text_len);
                        cont_flush(LOG_NEWLINE);
                }