linux-stable/drivers/tty/serial/8250
Peter Collingbourne e5d6bd25f9 serial: 8250_dw: Do not reclock if already at correct rate
When userspace opens the console, we call set_termios() passing a
termios with the console's configured baud rate. Currently this causes
dw8250_set_termios() to disable and then re-enable the UART clock at
the same frequency as it was originally. This can cause corruption
of any concurrent console output. Fix it by skipping the reclocking
if we are already at the correct rate.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Fixes: 4e26b134bd ("serial: 8250_dw: clock rate handling for all ACPI platforms")
Cc: stable@vger.kernel.org
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240222192635.1050502-1-pcc@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-03-02 22:11:03 +01:00
..
8250.h Revert "8250: add support for ASIX devices with a FIFO bug" 2023-06-21 17:55:53 +02:00
8250_accent.c
8250_acorn.c
8250_alpha.c
8250_aspeed_vuart.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_bcm2835aux.c serial: 8250_bcm2835aux: Restore clock error handling 2024-01-04 16:23:03 +01:00
8250_bcm7271.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_boca.c
8250_core.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_dfl.c
8250_dma.c serial: 8250_dma: Use port lock wrappers 2023-09-18 11:18:08 +02:00
8250_dw.c serial: 8250_dw: Do not reclock if already at correct rate 2024-03-02 22:11:03 +01:00
8250_dwlib.c serial: 8250_dw: Do not bailout on UCV read returning zero 2024-01-04 16:21:43 +01:00
8250_dwlib.h
8250_early.c serial: 8250_omap: Add earlycon support for the AM654 UART controller 2023-11-23 20:20:56 +00:00
8250_em.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_exar.c serial: 8250_exar: Set missing rs485_supported flag 2024-01-04 16:29:51 +01:00
8250_exar_st16c554.c
8250_fintek.c
8250_fourport.c
8250_fsl.c serial: 8250-fsl: Only do the break workaround if IIR signals RLSI 2023-12-15 14:23:32 +01:00
8250_hp300.c
8250_hub6.c
8250_ingenic.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_ioc3.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_lpc18xx.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_lpss.c serial: 8250_lpss: copy dma_param using devm_kmemdup() 2024-01-04 16:21:51 +01:00
8250_men_mcb.c 8250_men_mcb: remove unnecessary cast when reading register 2023-08-04 15:09:51 +02:00
8250_mid.c serial: 8250_mid: Remove 8250_pci usage 2023-09-18 11:14:43 +02:00
8250_mtk.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_of.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_omap.c Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
8250_parisc.c
8250_pci.c tty: serial: 8250: Set RS232 as default for Moxa PCIe board initialization 2024-01-04 16:21:47 +01:00
8250_pci1xxxx.c serial: 8250_pci1xxxx: partially revert off by one patch 2024-02-06 14:40:38 +00:00
8250_pcilib.c
8250_pcilib.h
8250_pericom.c
8250_pnp.c
8250_port.c - removed AR7 platform support 2023-11-10 09:19:46 -08:00
8250_pxa.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_rt288x.c
8250_tegra.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
8250_uniphier.c serial: 8250: Convert to platform remove callback returning void 2023-11-23 19:12:30 +00:00
Kconfig TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
Makefile tty/serial: 8250: Sort drivers in Makefile 2023-09-18 11:14:43 +02:00
serial_cs.c tty: serial_cs: remove unused struct serial_cfg_mem 2023-11-23 19:16:03 +00:00