diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/printk.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index fccacf706f53..051d27e36a6c 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -486,6 +486,9 @@ static int have_callable_console(void) | |||
486 | * @fmt: format string | 486 | * @fmt: format string |
487 | * | 487 | * |
488 | * This is printk(). It can be called from any context. We want it to work. | 488 | * This is printk(). It can be called from any context. We want it to work. |
489 | * Be aware of the fact that if oops_in_progress is not set, we might try to | ||
490 | * wake klogd up which could deadlock on runqueue lock if printk() is called | ||
491 | * from scheduler code. | ||
489 | * | 492 | * |
490 | * We try to grab the console_sem. If we succeed, it's easy - we log the output and | 493 | * We try to grab the console_sem. If we succeed, it's easy - we log the output and |
491 | * call the console drivers. If we fail to get the semaphore we place the output | 494 | * call the console drivers. If we fail to get the semaphore we place the output |