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)) { |
