diff mbox

printk: Ensure oops printing if console is locked

Message ID 1339599068-25215-1-git-send-email-aurelien.gerault-xsig@stericsson.com
State New
Headers show

Commit Message

Aurelien Gerault June 13, 2012, 2:51 p.m. UTC
From: Aurelien Gerault <aurelien.gerault-nonst@stericsson.com>

Ensuring that oops & panic messages/backtraces will be printed
in console, even when the console is locked.

If console is locked by someone else but an oops is ongoing, force
unlocking / re-locking to display the oops.

Signed-off-by: Aurelien Gerault <aurelien.gerault-nonst@stericsson.com>
---
 kernel/printk.c |    5 +++++
 1 file changed, 5 insertions(+)
diff mbox

Patch

diff --git a/kernel/printk.c b/kernel/printk.c
index 6d24237..be2a625 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1014,6 +1014,11 @@  asmlinkage int vprintk(const char *fmt, va_list args)
 	 */
 	if (console_trylock_for_printk(this_cpu))
 		console_unlock();
+	else if (oops_in_progress) {
+		/* force releasing / acquiring console lock to print oops */
+		console_unlock();
+		console_lock();
+	}
 
 	lockdep_on();
 out_restore_irqs: