linux/drivers/tty/serial/8250
Ilpo Järvinen be03b0651f serial: 8250: Store to lsr_save_flags after lsr read
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-10 13:52:19 +02:00
..
8250_accent.c
8250_acorn.c
8250_alpha.c serial: 8250: Move Alpha-specific quirk out of the core 2021-12-30 13:23:44 +01:00
8250_aspeed_vuart.c serial: 8250_aspeed_vuart: Fix potential NULL dereference in aspeed_vuart_probe 2022-04-15 11:31:29 +02:00
8250_bcm2835aux.c serial: 8250_bcm2835aux: Add ACPI support 2022-02-08 11:09:00 +01:00
8250_bcm7271.c serial: 8250_bcm7271: Fix return error code in case of dma_alloc_coherent() failure 2022-01-06 15:53:49 +01:00
8250_boca.c
8250_core.c serial: 8250: core: Remove unneeded <linux/pm_runtime.h> 2022-05-05 22:34:25 +02:00
8250_dma.c serial: 8250: use THRE & __stop_tx also with DMA 2022-04-26 13:28:34 +02:00
8250_dw.c serial: 8250_dw: Use dev_err_probe() 2022-05-19 18:29:02 +02:00
8250_dwlib.c serial: 8250_dwlib: Implement SW half duplex support 2022-04-26 14:47:32 +02:00
8250_dwlib.h serial: 8250_dwlib: RS485 HW half & full duplex support 2022-04-26 14:47:28 +02:00
8250_early.c serial: make uart_console_write->putchar()'s character an unsigned char 2022-03-03 15:06:31 +01:00
8250_em.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
8250_exar_st16c554.c
8250_exar.c serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards 2022-01-31 14:30:25 +01:00
8250_fintek.c serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485 2022-05-19 18:31:12 +02:00
8250_fourport.c
8250_fsl.c serial: 8250_fsl: Move fsl8250_data to ACPI section 2021-09-22 16:59:13 +02:00
8250_gsc.c serial: parisc: GSC: fix build when IOSAPIC is not set 2022-02-14 19:34:42 +01:00
8250_hp300.c
8250_hub6.c
8250_ingenic.c serial: make uart_console_write->putchar()'s character an unsigned char 2022-03-03 15:06:31 +01:00
8250_ioc3.c
8250_lpc18xx.c
8250_lpss.c serial: 8250_lpss: Balance reference count for PCI DMA device 2022-02-25 10:36:31 +01:00
8250_men_mcb.c
8250_mid.c serial: 8250_mid: Balance reference count for PCI DMA device 2022-02-25 10:35:59 +01:00
8250_mtk.c Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL" 2022-05-19 18:30:12 +02:00
8250_of.c serial: 8250: add compatible for fsl,16550-FIFO64 2022-04-15 11:37:27 +02:00
8250_omap.c tty: serial: make use of UART_LCR_WLEN() + tty_get_char_size() 2022-02-28 21:49:06 +01:00
8250_pci.c serial: 8250: Add proper clock handling for OxSemi PCIe devices 2022-05-05 22:36:48 +02:00
8250_pericom.c serial: 8250_pericom: Revert "Re-enable higher baud rates" 2022-02-04 15:32:05 +01:00
8250_pnp.c serial: 8250: remove duplicated BRI0A49 and BDP3336 entries 2021-09-22 16:59:13 +02:00
8250_port.c serial: 8250: Store to lsr_save_flags after lsr read 2022-06-10 13:52:19 +02:00
8250_pxa.c serial: 8250: pxa: Remove unneeded <linux/pm_runtime.h> 2022-05-05 22:34:27 +02:00
8250_tegra.c serial: 8250_tegra: mark acpi_device_id as unused with !ACPI 2022-03-18 13:18:25 +01:00
8250_uniphier.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
8250.h TTY / Serial driver changes for 5.19-rc1 2022-06-03 11:08:40 -07:00
Kconfig serial: 8250: Make SERIAL_8250_EM available for arm64 systems 2022-04-15 11:11:11 +02:00
Makefile serial: 8250: Move Alpha-specific quirk out of the core 2021-12-30 13:23:44 +01:00
serial_cs.c serial_cs: Add Option International GSM-Ready 56K/ISDN modem 2021-06-16 09:20:29 +02:00