mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	[PATCH] PM: make it possible to disable console suspending
Change suspend_console() so that it waits for all consoles to flush the remaining messages and make it possible to switch the console suspending off with the help of a Kconfig option. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: Stefan Seyfried <seife@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
							parent
							
								
									940864ddab
								
							
						
					
					
						commit
						c8eb8b4025
					
				
					 3 changed files with 19 additions and 0 deletions
				
			
		|  | @ -120,9 +120,14 @@ extern void console_stop(struct console *); | |||
| extern void console_start(struct console *); | ||||
| extern int is_console_locked(void); | ||||
| 
 | ||||
| #ifndef CONFIG_DISABLE_CONSOLE_SUSPEND | ||||
| /* Suspend and resume console messages over PM events */ | ||||
| extern void suspend_console(void); | ||||
| extern void resume_console(void); | ||||
| #else | ||||
| static inline void suspend_console(void) {} | ||||
| static inline void resume_console(void) {} | ||||
| #endif /* CONFIG_DISABLE_CONSOLE_SUSPEND */ | ||||
| 
 | ||||
| /* Some debug stub to catch some of the obvious races in the VT code */ | ||||
| #if 1 | ||||
|  |  | |||
|  | @ -36,6 +36,17 @@ config PM_DEBUG | |||
| 	code. This is helpful when debugging and reporting various PM bugs,  | ||||
| 	like suspend support. | ||||
| 
 | ||||
| config DISABLE_CONSOLE_SUSPEND | ||||
| 	bool "Keep console(s) enabled during suspend/resume (DANGEROUS)" | ||||
| 	depends on PM && PM_DEBUG | ||||
| 	default n | ||||
| 	---help--- | ||||
| 	This option turns off the console suspend mechanism that prevents | ||||
| 	debug messages from reaching the console during the suspend/resume | ||||
| 	operations.  This may be helpful when debugging device drivers' | ||||
| 	suspend/resume routines, but may itself lead to problems, for example | ||||
| 	if netconsole is used. | ||||
| 
 | ||||
| config PM_TRACE | ||||
| 	bool "Suspend/resume event tracing" | ||||
| 	depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL | ||||
|  |  | |||
|  | @ -721,6 +721,7 @@ int __init add_preferred_console(char *name, int idx, char *options) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #ifndef CONFIG_DISABLE_CONSOLE_SUSPEND | ||||
| /**
 | ||||
|  * suspend_console - suspend the console subsystem | ||||
|  * | ||||
|  | @ -728,6 +729,7 @@ int __init add_preferred_console(char *name, int idx, char *options) | |||
|  */ | ||||
| void suspend_console(void) | ||||
| { | ||||
| 	printk("Suspending console(s)\n"); | ||||
| 	acquire_console_sem(); | ||||
| 	console_suspended = 1; | ||||
| } | ||||
|  | @ -737,6 +739,7 @@ void resume_console(void) | |||
| 	console_suspended = 0; | ||||
| 	release_console_sem(); | ||||
| } | ||||
| #endif /* CONFIG_DISABLE_CONSOLE_SUSPEND */ | ||||
| 
 | ||||
| /**
 | ||||
|  * acquire_console_sem - lock the console system for exclusive use. | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Rafael J. Wysocki
						Rafael J. Wysocki