]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
printk: remember the message level for multi-line output
authorNick Andrew <nick@nick-andrew.net>
Mon, 12 May 2008 19:21:04 +0000 (21:21 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 24 May 2008 21:15:19 +0000 (23:15 +0200)
printk(KERN_ALERT "Danger Will Robinson!\nAlien Approaching!\n");

At present this will result in one message at ALERT level and one
at the current default message loglevel (e.g. WARNING). This is
non-intuitive.

Modify vprintk() to remember the message loglevel each time it
is specified and use it for subsequent lines of output which do
not specify one, within the same call to printk.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/printk.c

index 98ca1b76277f543e36f386808582a13f134ea22b..475fc22a285717d2003ec9aee15a0720c2b45409 100644 (file)
@@ -661,6 +661,7 @@ static char printk_buf[1024];
 asmlinkage int vprintk(const char *fmt, va_list args)
 {
        int printed_len = 0;
+       int current_log_level = default_message_loglevel;
        unsigned long flags;
        int this_cpu;
        char *p;
@@ -710,7 +711,6 @@ asmlinkage int vprintk(const char *fmt, va_list args)
         */
        for (p = printk_buf; *p; p++) {
                if (new_text_line) {
-                       int current_log_level = default_message_loglevel;
                        /* If a token, set current_log_level and skip over */
                        if (p[0] == '<' && p[1] >= '0' && p[1] <= '7' &&
                            p[2] == '>') {