diff options
Diffstat (limited to 'kernel/printk.c')
-rw-r--r-- | kernel/printk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index 65ca0688f86f..1149365e989e 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -799,6 +799,9 @@ void release_console_sem(void) | |||
799 | up(&secondary_console_sem); | 799 | up(&secondary_console_sem); |
800 | return; | 800 | return; |
801 | } | 801 | } |
802 | |||
803 | console_may_schedule = 0; | ||
804 | |||
802 | for ( ; ; ) { | 805 | for ( ; ; ) { |
803 | spin_lock_irqsave(&logbuf_lock, flags); | 806 | spin_lock_irqsave(&logbuf_lock, flags); |
804 | wake_klogd |= log_start - log_end; | 807 | wake_klogd |= log_start - log_end; |
@@ -812,7 +815,6 @@ void release_console_sem(void) | |||
812 | local_irq_restore(flags); | 815 | local_irq_restore(flags); |
813 | } | 816 | } |
814 | console_locked = 0; | 817 | console_locked = 0; |
815 | console_may_schedule = 0; | ||
816 | up(&console_sem); | 818 | up(&console_sem); |
817 | spin_unlock_irqrestore(&logbuf_lock, flags); | 819 | spin_unlock_irqrestore(&logbuf_lock, flags); |
818 | if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait)) { | 820 | if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait)) { |