OMAP3: PM: fix UART handling when using no_console_suspend
authorKevin Hilman <khilman@ti.com>
Tue, 13 Sep 2011 18:18:44 +0000 (11:18 -0700)
committerKevin Hilman <khilman@ti.com>
Fri, 16 Sep 2011 16:44:50 +0000 (09:44 -0700)
During the idle/suspend path, we expect the console lock to be held so
that no console output is done during/after the UARTs are idled.

However, when using the no_console_suspend argument on the
command-line, the console driver does not take the console lock.  This
allows the possibility of console activity after UARTs have been
disabled.

To fix, update the current is_suspending() to also check the
console_suspend_enabled flag.

Reported-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/pm34xx.c

index 7255d9b..c8cbd00 100644 (file)
@@ -55,7 +55,7 @@
 static suspend_state_t suspend_state = PM_SUSPEND_ON;
 static inline bool is_suspending(void)
 {
-       return (suspend_state != PM_SUSPEND_ON);
+       return (suspend_state != PM_SUSPEND_ON) && console_suspend_enabled;
 }
 #else
 static inline bool is_suspending(void)