diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 87cd50ae6cd614c8379c48158ad92935323cc8fb..ffd7f90b8f02eed323ad9ad90f88946e2e35e8b4 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2609,12 +2609,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(); }