diff --git a/[refs] b/[refs] index 9d7eef5eb283..2da0479ab57c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c193c82f054195aa352ccbef91afc28446e5a30e +refs/heads/master: 09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec diff --git a/trunk/kernel/printk.c b/trunk/kernel/printk.c index 1455a0d4eedd..7982a0a841ea 100644 --- a/trunk/kernel/printk.c +++ b/trunk/kernel/printk.c @@ -1293,10 +1293,11 @@ void console_unlock(void) raw_spin_lock(&logbuf_lock); if (con_start != log_end) retry = 1; + raw_spin_unlock_irqrestore(&logbuf_lock, flags); + if (retry && console_trylock()) goto again; - raw_spin_unlock_irqrestore(&logbuf_lock, flags); if (wake_klogd) wake_up_klogd(); }