linux/drivers/tty
Ilpo Järvinen 33ba36351e serial: 8250: Store to lsr_save_flags after lsr read
commit be03b0651f upstream.

Not all LSR register flags are preserved across reads. Therefore, LSR
readers must store the non-preserved bits into lsr_save_flags.

This fix was initially mixed into feature commit f6f586102a ("serial:
8250: Handle UART without interrupt on TEMT using em485"). However,
that feature change had a flaw and it was reverted to make room for
simpler approach providing the same feature. The embedded fix got
reverted with the feature change.

Re-add the lsr_save_flags fix and properly mark it's a fix.

Link: https://lore.kernel.org/all/1d6c31d-d194-9e6a-ddf9-5f29af829f3@linux.intel.com/T/#m1737eef986bd20cf19593e344cebd7b0244945fc
Fixes: e490c9144c ("tty: Add software emulated RS485 support for 8250")
Cc: stable <stable@kernel.org>
Acked-by: Uwe Kleine-König <u.kleine-koenig@penugtronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/f4d774be-1437-a550-8334-19d8722ab98c@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-22 14:13:19 +02:00
..
hvc tty: hvc: fix return value of __setup handler 2022-04-08 14:40:28 +02:00
ipwireless
serdev
serial serial: 8250: Store to lsr_save_flags after lsr read 2022-06-22 14:13:19 +02:00
vt vt_ioctl: add array_index_nospec to VT_ACTIVATE 2022-02-16 12:54:27 +01:00
amiserial.c
cyclades.c
ehv_bytechan.c
goldfish.c tty: goldfish: Fix free_irq() on remove 2022-06-22 14:13:16 +02:00
isicom.c
Kconfig
Makefile
mips_ejtag_fdc.c
moxa.c
moxa.h
mxser.c mxser: fix xmit_buf leak in activate when LSR == 0xff 2022-04-08 14:40:23 +02:00
mxser.h
n_gsm.c tty: n_gsm: fix mux activation issues in gsm_config() 2022-05-18 10:23:46 +02:00
n_hdlc.c tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous 2021-12-22 09:30:56 +01:00
n_null.c
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c tty: n_tty: Restore EOF push handling behavior 2022-06-14 18:32:30 +02:00
nozomi.c
pty.c
rocket_int.h
rocket.c
rocket.h
synclink_gt.c tty: synclink_gt: Fix null-pointer-dereference in slgt_clean() 2022-06-14 18:32:41 +02:00
synclink.c
synclinkmp.c
sysrq.c sysrq: do not omit current cpu when showing backtrace of all active CPUs 2022-06-14 18:32:42 +02:00
tty_audit.c
tty_baudrate.c
tty_buffer.c tty: fix deadlock caused by calling printk() under tty_port->lock 2022-06-09 10:21:17 +02:00
tty_io.c tty: Fix data race between tiocsti() and flush_to_ldisc() 2021-09-15 09:50:47 +02:00
tty_ioctl.c
tty_jobctrl.c
tty_ldisc.c
tty_ldsem.c
tty_mutex.c
tty_port.c
ttynull.c
vcc.c