ramconsole/apanic: Ensure ramconsole does not get cluttered by apanic threads
authorSan Mehat <san@google.com>
Thu, 17 Sep 2009 21:27:41 +0000 (14:27 -0700)
committerColin Cross <ccross@android.com>
Tue, 14 Jun 2011 16:09:18 +0000 (09:09 -0700)
Signed-off-by: San Mehat <san@google.com>
drivers/misc/apanic.c
drivers/staging/android/ram_console.c

index fde08712247364e3f6921974caf802b6c94d3a93..2f858be7ef59a063bac6c4fbc2a8fcf5b17de5ce 100644 (file)
@@ -38,6 +38,8 @@
 #include <linux/workqueue.h>
 #include <linux/preempt.h>
 
+extern void ram_console_enable_console(int);
+
 struct panic_header {
        u32 magic;
 #define PANIC_MAGIC 0xdeadf00d
@@ -468,6 +470,8 @@ static int apanic(struct notifier_block *this, unsigned long event,
        if (!threads_offset)
                threads_offset = ctx->mtd->writesize;
 
+       ram_console_enable_console(0);
+
        log_buf_clear();
        show_state_filter(0);
        threads_len = apanic_write_console(ctx->mtd, threads_offset);
index 8f18a59744cdd8911a1be78297421b245dccad2b..d735be45f1621ec5616a7eed0e31a9a25c831c96 100644 (file)
@@ -146,6 +146,14 @@ static struct console ram_console = {
        .index  = -1,
 };
 
+void ram_console_enable_console(int enabled)
+{
+       if (enabled)
+               ram_console.flags |= CON_ENABLED;
+       else
+               ram_console.flags &= ~CON_ENABLED;
+}
+
 static void __init
 ram_console_save_old(struct ram_console_buffer *buffer, char *dest)
 {