two serial_core suspend/resume fixes
Quoted 7 lines
Quoted 7 lines
Quoted 2 lines · Jason Wang
Quoted 2 lines
Sorry for resending this thread. Last thread is forgot to CC Greg Kroah-Hartman.
Quoted 7 lines
Quoted 6 lines
Well, I experienced
no_console_supendbreakage on my PXA270 based Zaurus SL-C3200 (terrier/spitz) as well.But your patches did not fix the behavior, serial port remains dead after resume with
no_console_supend.
Very strange, I have validated these patches on ti_omap3530evm, fsl_imx31pdk and fsl_imx51pdk.
They work fine.
When we set no_console_suspend to bootargs, the suspend process will skip most sub-callings in theserial_core.c->uart_suspend_port(), only call ops->tx_empty(). While in resume process, if without my
first patch, it will call uart_change_pm(), ops->set_termios() and console_start(), these callings will make
the console uart unusable, but if apply my first patch, it will call nothing in the resume process. So
apply my first patch will balance suspend and resume sub-callings.
So i guess, your issue is not here. Maybe other parts(like gpio/clock) of suspend/resume affect your UART.
Thanks,
Jason.
Quoted 24 lines
Quoted 23 lines
Quoted 9 lines
Quoted 9 lines
The [1/2] fix this situation:
we setno_console_supendand console=ttyS0 to bootargs, then bootup the kernel, the boot logs will print out from ttyS0. When we execute echo mem >/sys/power/state, the system will suspend, we press a key(or other wakeup trigger) to resume the system, but the ttyS0 can't work anymore.Quoted 6 lines
Quoted 6 lines
The [2/2] fix this situation:
we set console=ttyS0 to bootargs, then bootup the kernel, the boot logs will print out from ttyS0, this time we set ttyS1 as tty and login for shell. When we execute echo mem >/sys/power/state, the system will suspend, we press a key(or other wakeup trigger) to resume the system, but the ttyS0 can't work anymore.--
Best Regards / S pozdravem,Stanislav Brabec
software developer
---------------------------------------------------------------------