[PATCH] Console blanking locking fix
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 <s.doyon@videotron.ca> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
							parent
							
								
									f62c6d0a26
								
							
						
					
					
						commit
						2d237c6365
					
				| @ -2272,7 +2272,9 @@ int tioclinux(struct tty_struct *tty, unsigned long arg) | ||||
| 			ret = paste_selection(tty); | ||||
| 			break; | ||||
| 		case TIOCL_UNBLANKSCREEN: | ||||
| 			acquire_console_sem(); | ||||
| 			unblank_screen(); | ||||
| 			release_console_sem(); | ||||
| 			break; | ||||
| 		case TIOCL_SELLOADLUT: | ||||
| 			ret = sel_loadlut(p); | ||||
| @ -2317,8 +2319,10 @@ int tioclinux(struct tty_struct *tty, unsigned long arg) | ||||
| 			} | ||||
| 			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; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user