|
@@ -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);
|
|
|
}
|
|
|
|