[PATCH] swsusp: do not change log level during suspend/resume

Prevent the kernel from setting the log level to 10 unconditionally during
suspend/resume which was needed in the past for debugging, but generally is
undesirable.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Rafael J. Wysocki 2006-02-01 03:05:21 -08:00 committed by Linus Torvalds
parent a8183ebb45
commit f7b8988ff5
2 changed files with 6 additions and 11 deletions

View File

@ -9,18 +9,11 @@
#include <linux/console.h> #include <linux/console.h>
#include "power.h" #include "power.h"
static int new_loglevel = 10;
static int orig_loglevel;
#ifdef SUSPEND_CONSOLE #ifdef SUSPEND_CONSOLE
static int orig_fgconsole, orig_kmsg; static int orig_fgconsole, orig_kmsg;
#endif
int pm_prepare_console(void) int pm_prepare_console(void)
{ {
orig_loglevel = console_loglevel;
console_loglevel = new_loglevel;
#ifdef SUSPEND_CONSOLE
acquire_console_sem(); acquire_console_sem();
orig_fgconsole = fg_console; orig_fgconsole = fg_console;
@ -41,18 +34,15 @@ int pm_prepare_console(void)
} }
orig_kmsg = kmsg_redirect; orig_kmsg = kmsg_redirect;
kmsg_redirect = SUSPEND_CONSOLE; kmsg_redirect = SUSPEND_CONSOLE;
#endif
return 0; return 0;
} }
void pm_restore_console(void) void pm_restore_console(void)
{ {
console_loglevel = orig_loglevel;
#ifdef SUSPEND_CONSOLE
acquire_console_sem(); acquire_console_sem();
set_console(orig_fgconsole); set_console(orig_fgconsole);
release_console_sem(); release_console_sem();
kmsg_redirect = orig_kmsg; kmsg_redirect = orig_kmsg;
#endif
return; return;
} }
#endif

View File

@ -42,8 +42,13 @@ static struct subsys_attribute _name##_attr = { \
extern struct subsystem power_subsys; extern struct subsystem power_subsys;
#ifdef SUSPEND_CONSOLE
extern int pm_prepare_console(void); extern int pm_prepare_console(void);
extern void pm_restore_console(void); extern void pm_restore_console(void);
#else
static int pm_prepare_console(void) { return 0; }
static void pm_restore_console(void) {}
#endif
/* References to section boundaries */ /* References to section boundaries */
extern const void __nosave_begin, __nosave_end; extern const void __nosave_begin, __nosave_end;