printk: wake up all waiters
There can be multiple tasks waiting for new records. They should all be woken. Use wake_up_interruptible_all() instead of wake_up_interruptible(). Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20220421212250.565456-5-john.ogness@linutronix.de
This commit is contained in:
parent
1f5d783094
commit
938ba4084a
|
@ -3326,7 +3326,7 @@ static void wake_up_klogd_work_func(struct irq_work *irq_work)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pending & PRINTK_PENDING_WAKEUP)
|
if (pending & PRINTK_PENDING_WAKEUP)
|
||||||
wake_up_interruptible(&log_wait);
|
wake_up_interruptible_all(&log_wait);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEFINE_PER_CPU(struct irq_work, wake_up_klogd_work) =
|
static DEFINE_PER_CPU(struct irq_work, wake_up_klogd_work) =
|
||||||
|
|
Loading…
Reference in New Issue