summaryrefslogtreecommitdiff
path: root/drivers/serial
diff options
context:
space:
mode:
authorJason Wang <jason77.wang@gmail.com>2010-08-21 15:14:41 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-22 10:20:01 -0700
commitca2e71aa8cfb0056ce720f3fd53f59f5fac4a3e1 (patch)
tree15efe06f0bbfaf2987fd7586afbac46fb9c999e9 /drivers/serial
parentd838016af3b15452043256acad0be63f215115ba (diff)
downloadlinux-3.10-ca2e71aa8cfb0056ce720f3fd53f59f5fac4a3e1.tar.gz
linux-3.10-ca2e71aa8cfb0056ce720f3fd53f59f5fac4a3e1.tar.bz2
linux-3.10-ca2e71aa8cfb0056ce720f3fd53f59f5fac4a3e1.zip
serial-core: skip call set_termios/console_start when no_console_suspend
The commit 4547be7 rewrites suspend and resume functions, this introduces a problem on the OMAP3EVM platoform. when the kernel boots with no_console_suspend and we suspend the kernel, then resume it, the serial console will be not usable. This problem should be common for all platforms. The cause for this problem is that when enter suspend, if we choose no_console_suspend, the console_stop will be skiped. But in resume function, the console port will be set to uninitialized state by calling set_termios function and the console_start is called without checking whether the no_console_suspend is set, Now fix it. Signed-off-by: Jason Wang <jason77.wang@gmail.com> Acked-by: Stanislav Brabec <sbrabec@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/serial_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index cd8511298bc..ff21200f94f 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2065,7 +2065,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport)
/*
* Re-enable the console device after suspending.
*/
- if (uart_console(uport)) {
+ if (console_suspend_enabled && uart_console(uport)) {
uart_change_pm(state, 0);
uport->ops->set_termios(uport, &termios, NULL);
console_start(uport->cons);