From 2667a6b00d2acabd62d1292c6cc4b079374dd3b5 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 12 May 2008 21:21:04 +0200 Subject: [PATCH] --- yaml --- r: 100671 b: refs/heads/master c: 3b8945e8d40645eecdb7d2357ca531f9b4dd9f71 h: refs/heads/master i: 100669: 5b786cff6c3642b560531695440cbefe8bc078f3 100667: b3e7ae9a61cbb0c1b75cc7578aedfe6543028369 100663: a00332a4bf225c2196818fa93bce1d272fae2fab 100655: 0059ef13933ded5a329ab980a8cdb72c61843dd0 100639: f25af7e45dd3c641ab7aee4518cc62b3ce5db39e 100607: 4abbdf989a18db828314010bb95453e1a0777513 v: v3 --- [refs] | 2 +- trunk/kernel/printk.c | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 9066483f4d69..9233058a22f4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 42fdfa238a23643226910acf922ea930b3286032 +refs/heads/master: 3b8945e8d40645eecdb7d2357ca531f9b4dd9f71 diff --git a/trunk/kernel/printk.c b/trunk/kernel/printk.c index 55d16e57499a..8b42f87e311d 100644 --- a/trunk/kernel/printk.c +++ b/trunk/kernel/printk.c @@ -652,16 +652,14 @@ static int acquire_console_semaphore_for_printk(unsigned int cpu) spin_unlock(&logbuf_lock); return retval; } - -const char printk_recursion_bug_msg [] = - KERN_CRIT "BUG: recent printk recursion!\n"; -static int printk_recursion_bug; +static const char recursion_bug_msg [] = + KERN_CRIT "BUG: recent printk recursion!\n"; +static int recursion_bug; +static int log_level_unknown = 1; +static char printk_buf[1024]; asmlinkage int vprintk(const char *fmt, va_list args) { - static int log_level_unknown = 1; - static char printk_buf[1024]; - unsigned long flags; int printed_len = 0; int this_cpu; @@ -686,7 +684,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) * it can be printed at the next appropriate moment: */ if (!oops_in_progress) { - printk_recursion_bug = 1; + recursion_bug = 1; goto out_restore_irqs; } zap_locks(); @@ -696,10 +694,10 @@ asmlinkage int vprintk(const char *fmt, va_list args) spin_lock(&logbuf_lock); printk_cpu = this_cpu; - if (printk_recursion_bug) { - printk_recursion_bug = 0; - strcpy(printk_buf, printk_recursion_bug_msg); - printed_len = sizeof(printk_recursion_bug_msg); + if (recursion_bug) { + recursion_bug = 0; + strcpy(printk_buf, recursion_bug_msg); + printed_len = sizeof(recursion_bug_msg); } /* Emit the output into the temporary buffer */ printed_len += vscnprintf(printk_buf + printed_len,