diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/printk.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index 3e79e18dce33..4da26b067976 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -783,6 +783,12 @@ int is_console_locked(void) | |||
783 | return console_locked; | 783 | return console_locked; |
784 | } | 784 | } |
785 | 785 | ||
786 | void wake_up_klogd(void) | ||
787 | { | ||
788 | if (!oops_in_progress && waitqueue_active(&log_wait)) | ||
789 | wake_up_interruptible(&log_wait); | ||
790 | } | ||
791 | |||
786 | /** | 792 | /** |
787 | * release_console_sem - unlock the console system | 793 | * release_console_sem - unlock the console system |
788 | * | 794 | * |
@@ -825,8 +831,8 @@ void release_console_sem(void) | |||
825 | console_locked = 0; | 831 | console_locked = 0; |
826 | up(&console_sem); | 832 | up(&console_sem); |
827 | spin_unlock_irqrestore(&logbuf_lock, flags); | 833 | spin_unlock_irqrestore(&logbuf_lock, flags); |
828 | if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait)) | 834 | if (wake_klogd) |
829 | wake_up_interruptible(&log_wait); | 835 | wake_up_klogd(); |
830 | } | 836 | } |
831 | EXPORT_SYMBOL(release_console_sem); | 837 | EXPORT_SYMBOL(release_console_sem); |
832 | 838 | ||