Commit ca2e71aa authored by Jason Wang's avatar Jason Wang Committed by Greg Kroah-Hartman

serial-core: skip call set_termios/console_start when no_console_suspend

The commit 4547be78 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: default avatarJason Wang <jason77.wang@gmail.com>
Acked-by: default avatarStanislav Brabec <sbrabec@suse.cz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d838016a
...@@ -2065,7 +2065,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport) ...@@ -2065,7 +2065,7 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport)
/* /*
* Re-enable the console device after suspending. * Re-enable the console device after suspending.
*/ */
if (uart_console(uport)) { if (console_suspend_enabled && uart_console(uport)) {
uart_change_pm(state, 0); uart_change_pm(state, 0);
uport->ops->set_termios(uport, &termios, NULL); uport->ops->set_termios(uport, &termios, NULL);
console_start(uport->cons); console_start(uport->cons);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment