[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:
parent
a8183ebb45
commit
f7b8988ff5
@ -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
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user