summaryrefslogtreecommitdiffstats
path: root/printk-Fix-missing-klogd-wakeup.patch
blob: 9ec646b652db366d72f513e412524637999eaa7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From c816c8d0fd568181c44f39569c5bd87e0f224c21 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 26 May 2010 16:48:23 +0200
Subject: [PATCH] printk: Fix missing klogd wakeup

commit ea17fed8d36978aa00f844949a1d820dfe58b992 in tip.

The RT check for !in_atomic() && !irqs_disabled()) to prevent the
klogd wakeup is actually bogus as wake_up_klogd() is just setting the
needs print flag which is then evaluated from printk_tick() which does
the actual wakeup.

Reported-by: Nikita V. Youshchenko <yoush@cs.msu.su>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 kernel/printk.c |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)

diff --git a/kernel/printk.c b/kernel/printk.c
index c486561..9c5139c 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1080,15 +1080,6 @@ void release_console_mutex(void)
 	raw_spin_unlock_irqrestore(&logbuf_lock, flags);
 	mutex_unlock(&console_mutex);
 
-	/*
-	 * On PREEMPT_RT kernels __wake_up may sleep, so wake syslogd
-	 * up only if we are in a preemptible section. We normally dont
-	 * printk from non-preemptible sections so this is for the emergency
-	 * case only.
-	 */
-#ifdef CONFIG_PREEMPT_RT
-	if (!in_atomic() && !irqs_disabled())
-#endif
 	if (wake_klogd)
 		wake_up_klogd();
 }
-- 
1.7.0.4