From: Stephane Doyon I've had WARN_CONSOLE_UNLOCKED warnings when calling TIOCLINUX TIOCL_BLANKSCREEN and TIOCL_UNBLANKSCREEN. (I'm blind and I use a braille display. I use those functions to blank my laptop's screen so people don't read it, and hopefully to conserve power.) The warnings are from these places: do_blank_screen at drivers/char/vt.c:2754 (Not tainted) save_screen at drivers/char/vt.c:575 (Not tainted) do_unblank_screen at drivers/char/vt.c:2822 (Not tainted) set_palette at drivers/char/vt.c:2908 (Not tainted) At a glance I would think the following patch ought to fix that. Tested on one machine. Could you please tell me if this is correct and/or forward the patch where appropriate... Signed-off-by: Stephane Doyon Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton --- drivers/char/vt.c | 4 ++++ 1 files changed, 4 insertions(+) diff -puN drivers/char/vt.c~console-blanking-locking-fix drivers/char/vt.c --- devel/drivers/char/vt.c~console-blanking-locking-fix 2005-08-17 21:37:45.000000000 -0700 +++ devel-akpm/drivers/char/vt.c 2005-08-17 21:37:45.000000000 -0700 @@ -2286,7 +2286,9 @@ int tioclinux(struct tty_struct *tty, un ret = paste_selection(tty); break; case TIOCL_UNBLANKSCREEN: + acquire_console_sem(); unblank_screen(); + release_console_sem(); break; case TIOCL_SELLOADLUT: ret = sel_loadlut(p); @@ -2331,8 +2333,10 @@ int tioclinux(struct tty_struct *tty, un } break; case TIOCL_BLANKSCREEN: /* until explicitly unblanked, not only poked */ + acquire_console_sem(); ignore_poke = 1; do_blank_screen(0); + release_console_sem(); break; case TIOCL_BLANKEDSCREEN: ret = console_blanked; _