serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512
authorPeter Hung <hpeter@gmail.com>
Wed, 5 Aug 2015 06:44:53 +0000 (14:44 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Aug 2015 19:24:27 +0000 (12:24 -0700)
commitd3159455bf46b71d0a4f2bb5d9cb92b64056e2b1
tree00a29e1cbc86eab421101b29539af66cd01dfd63
parent68be64ca7e2adc4f16077c3b0feb8719f89119bd
serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512

Fix RS232/485 mode incorrect setting after S3/S4 resume for F81504/508/512

We had add RS232/485 RTS control with fecf27a373f5. But when it
resume from S3/S4, the mode register 0x40 + 0x08 * idx + 7 will
rewrite to 0x01 (RS232 mode).

This patch will modify 2 sections.

One is pci_fintek_init(), if it called when first init, it will
write mode register with 0x01. If it called from S3/S4 resume,
it's will get the relative port data and pass it to
pci_fintek_rs485_config() with NULL rs485 parameter.

The another modification is in pci_fintek_rs485_config(). It'll
re-apply old configuration when the parameter rs485 is NULL.

Signed-off-by: Peter Hung <hpeter+linux_kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pci.c