diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index f52eceb3c48a0e20497144ddea198b08c52186b6..c164761da3ec6ea6716570ce0f442239b2609a7c 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2539,12 +2539,12 @@ void console_unlock(void) return; } - printk_safe_exit_irqrestore(flags); - /* Allow panic_cpu to take over the consoles safely */ if (abandon_console_lock_in_panic()) break; + printk_safe_exit_irqrestore(flags); + if (do_cond_resched) cond_resched(); }