summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@novell.com>2005-06-17 13:20:58 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-18 13:33:01 -0700
commitcc63b1e12b378c44e074571d5688c23be823b04c (patch)
treef8feb187a8e8e12c822bb9fc18804f76341b1c45 /drivers/char
parent43fde784a698aff26de0fc1dbd84aa075b8cfb5f (diff)
[PATCH] console blanking oops fix
When significant delays happen during boot (e.g. with a kernel debugger, but the problem has also seen in other cases) the timeout for blanking the console may trigger, but the work scheduler may not have been initialized, yet. schedule_work() will oops over the null keventd_wq. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/vt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index e5ef1dfc548..d7aa7a29f67 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -2867,6 +2867,10 @@ void unblank_screen(void)
*/
static void blank_screen_t(unsigned long dummy)
{
+ if (unlikely(!keventd_up())) {
+ mod_timer(&console_timer, jiffies + blankinterval);
+ return;
+ }
blank_timer_expired = 1;
schedule_work(&console_work);
}