diff options
author | John Ogness <john.ogness@linutronix.de> | 2022-04-21 23:28:39 +0206 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2022-04-22 21:30:57 +0200 |
commit | 938ba4084abcf6fdd21d9078513c52f8fb9b00d0 (patch) | |
tree | 654c2096515e66b2ef5c913158ae6424d44601fe | |
parent | 1f5d783094cf28b4905f51cad846eb5d1db6673e (diff) | |
download | linux-stable-938ba4084abcf6fdd21d9078513c52f8fb9b00d0.tar.gz linux-stable-938ba4084abcf6fdd21d9078513c52f8fb9b00d0.tar.bz2 linux-stable-938ba4084abcf6fdd21d9078513c52f8fb9b00d0.zip |
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
-rw-r--r-- | kernel/printk/printk.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index f817dfb4852d..e23357002648 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -3326,7 +3326,7 @@ static void wake_up_klogd_work_func(struct irq_work *irq_work) } 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) = |