public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix console initialization deadlock for x86-64
@ 2002-04-20 16:31 Andi Kleen
  0 siblings, 0 replies; only message in thread
From: Andi Kleen @ 2002-04-20 16:31 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel


When vt_init happens to run before the keyboard is initialized (the order is random
because they're both different initcalls) then set_leds raises an not yet enabled
tasklet. This causes an endless loop on the first schedule() call because the tasklet
handling cannot handle raised but disabled tasklets.

This patch just does not do set_leds in virtual terminal initialization to avoid that.
It is done later anyways. 

Patch for 2.5.8 

-Andi


diff -X ../../KDIFX -x *-o -x *-RESERVE -burpN ../../v2.5/linux/drivers/char/console.c linux/drivers/char/console.c
--- ../../v2.5/linux/drivers/char/console.c	Wed Jan 30 22:38:01 2002
+++ linux/drivers/char/console.c	Thu Apr 18 17:32:23 2002
@@ -1420,7 +1420,8 @@ static void reset_terminal(int currcons,
 	kbd_table[currcons].slockstate = 0;
 	kbd_table[currcons].ledmode = LED_SHOW_FLAGS;
 	kbd_table[currcons].ledflagstate = kbd_table[currcons].default_ledflagstate;
-	set_leds();
+	/* do not do set_leds here because this causes an endless tasklet loop
+	   when the keyboard hasn't been initialized yet */
 
 	cursor_type = CUR_DEFAULT;
 	complement_mask = s_complement_mask;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-04-20 16:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-20 16:31 [PATCH] Fix console initialization deadlock for x86-64 Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox