>From 976ab0ea1d855686d8166b9c08239aa50e1c983b Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 11 Jun 2014 22:38:41 +0200 Subject: [PATCH 2/2] printk: Debug patch 2 Signed-off-by: Jan Kara --- kernel/printk/printk.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index da94dc18b6fa..7263c4353150 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1638,17 +1638,19 @@ asmlinkage int vprintk_emit(int facility, int level, logbuf_cpu = UINT_MAX; raw_spin_unlock(&logbuf_lock); lockdep_on(); - local_irq_restore(flags); - - /* If called from the scheduler, we can not call up(). */ - if (in_sched) - return printed_len; - /* * Disable preemption to avoid being preempted while holding * console_sem which would prevent anyone from printing to console */ preempt_disable(); + local_irq_restore(flags); + + /* If called from the scheduler, we can not call up(). */ + if (in_sched) { + preempt_enable(); + return printed_len; + } + lockdep_off(); /* * Try to acquire and then immediately release the console semaphore. -- 1.8.1.4