Skip to contentSkip to conversation

two serial_core suspend/resume fixes

PATCH RESEND wanghui 1 participant 1 message Aug 24, 2010 TTY layer and serial drivers

lore
Share & tools
lore

wanghui

author
#0 lore raw
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_supend breakage 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 the
serial_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 set no_console_supend and 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
---------------------------------------------------------------------