linux/drivers/tty/serial
Ji-Ze Hong (Peter Hong) 6c33ff7288 serial: 8250_fintek: Fix garbled text for console
Commit fab8a02b73 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
introduced support to use high baudrate with Fintek SuperIO UARTs. It'll
change clocksources when the UART probed.

But when user add kernel parameter "console=ttyS0,115200 console=tty0" to make
the UART as console output, the console will output garbled text after the
following kernel message.

[    3.681188] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled

The issue is occurs in following step:
	probe_setup_port() -> fintek_8250_goto_highspeed()

It change clocksource from 115200 to 921600 with wrong time, it should change
clocksource in set_termios() not in probed. The following 3 patches are
implemented change clocksource in fintek_8250_set_termios().

Commit 58178914ae ("serial: 8250_fintek: UART dynamic clocksource on Fintek F81216H")
Commit 195638b6d4 ("serial: 8250_fintek: UART dynamic clocksource on Fintek F81866")
Commit 423d9118c6 ("serial: 8250_fintek: Add F81966 Support")

Due to the high baud rate had implemented above 3 patches and the patch
Commit fab8a02b73 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
is bugged, So this patch will remove it.

Fixes: fab8a02b73 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
Signed-off-by: Ji-Ze Hong (Peter Hong) <hpeter+linux_kernel@gmail.com>
Link: https://lore.kernel.org/r/20211215075835.2072-1-hpeter+linux_kernel@gmail.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-15 21:51:07 +01:00
..
8250 serial: 8250_fintek: Fix garbled text for console 2021-12-15 21:51:07 +01:00
cpm_uart serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE 2021-10-30 11:01:48 +02:00
jsm tty: serial: jsm: hold port lock when reporting modem line changes 2021-07-21 12:36:48 +02:00
21285.c
altera_jtaguart.c
altera_uart.c
amba-pl010.c
amba-pl011.c serial: pl011: Add ACPI SBSA UART match id 2021-11-25 18:23:28 +01:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c
arc_uart.c tty: cumulate and document tty_struct::flow* members 2021-05-13 16:57:16 +02:00
atmel_serial.c tty: serial: atmel: use macros instead of hardcoded values 2021-10-10 15:20:09 +02:00
atmel_serial.h
bcm63xx_uart.c
clps711x.c
digicolor-usart.c
dz.c tty: serial: dz: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:11 +02:00
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c
earlycon.c
fsl_linflexuart.c tty: serial: linflexuart: Remove redundant check to simplify the code 2021-08-26 14:51:04 +02:00
fsl_lpuart.c Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" 2021-11-25 18:27:44 +01:00
icom.c tty: serial: icom: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:11 +02:00
icom.h
imx_earlycon.c
imx.c serial: imx: disable console clocks on unregister 2021-10-21 10:30:08 +02:00
ip22zilog.c tty: serial: ip22zilog: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
ip22zilog.h
Kconfig serial: liteuart: relax compile-test dependencies 2021-11-25 18:25:49 +01:00
kgdb_nmi.c tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
kgdboc.c
lantiq.c
liteuart.c serial: liteuart: fix minor-number leak on probe errors 2021-11-25 18:25:49 +01:00
lpc32xx_hs.c
Makefile Revert "tty: serial: Add UART driver for Cortina-Access platform" 2021-06-24 14:46:32 +02:00
max310x.c serial: max310x: Make max310x_remove() return void 2021-10-13 14:33:59 +02:00
max3100.c
mcf.c
men_z135_uart.c
meson_uart.c tty: serial: meson: retrieve port FIFO size from DT 2021-05-20 16:11:20 +02:00
milbeaut_usio.c
mpc52xx_uart.c
mps2-uart.c
msm_serial.c tty: serial: msm_serial: Deactivate RX DMA for polling support 2021-11-25 18:23:34 +01:00
mux.c parisc: Make struct parisc_driver::remove() return void 2021-08-30 10:18:25 +02:00
mvebu-uart.c serial: mvebu-uart: fix driver's tx_empty callback 2021-09-14 10:07:10 +02:00
mxs-auart.c tty: make use of tty_get_{char,frame}_size 2021-06-15 14:03:27 +02:00
omap-serial.c serial: omap: Disable PM runtime autoidle to remove pm_runtime_irq_safe() 2021-07-29 17:03:04 +02:00
owl-uart.c
pch_uart.c
pic32_uart.c
pic32_uart.h
pmac_zilog.c tty: serial: pmac_zilog: include <linux/io.h> insteiad of <asm/io.h> 2021-05-13 18:29:12 +02:00
pmac_zilog.h
pxa.c
qcom_geni_serial.c serial: qcom_geni_serial: use DT aliases according to DT bindings 2021-06-24 14:51:28 +02:00
rda-uart.c
rp2.c serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' 2021-05-21 20:34:02 +02:00
sa1100.c
samsung_tty.c tty: serial: samsung: Improve naming for common macro 2021-10-10 15:20:16 +02:00
sb1250-duart.c tty: serial: sb1250-duart: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
sc16is7xx.c serial: sc16is7xx: Make sc16is7xx_remove() return void 2021-10-13 14:34:07 +02:00
sccnxp.c
serial_core.c serial: 8250: Fix RTS modem control while in rs485 mode 2021-11-25 18:41:09 +01:00
serial_mctrl_gpio.c
serial_mctrl_gpio.h
serial_txx9.c tty: serial: txx9: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
serial-tegra.c serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30 2021-11-25 18:26:32 +01:00
sh-sci.c serial: sh-sci: fix break handling for sysrq 2021-08-16 18:53:40 +02:00
sh-sci.h serial: sh-sci: Add support for RZ/G2L SoC 2021-06-04 15:12:40 +02:00
sifive.c serial: sifive: set pointer to NULL rather than 0. 2021-10-05 14:54:21 +02:00
sprd_serial.c
st-asc.c tty: serial: st-asc: Demote a kernel-doc formatting abuse 2021-05-20 17:06:17 +02:00
stm32-usart.c serial: stm32: push DMA RX data before suspending 2021-10-26 19:18:47 +02:00
stm32-usart.h serial: stm32: update throttle and unthrottle ops for dma mode 2021-10-21 10:36:29 +02:00
suncore.c
sunhv.c
sunsab.c tty: serial: sunsab: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
sunsab.h
sunsu.c tty: serial: sunsu: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
sunzilog.c serial: sunzilog: Mark sunzilog_putchar() __maybe_unused 2021-10-26 19:15:04 +02:00
sunzilog.h
tegra-tcu.c serial: tegra-tcu: Reorder channel initialization 2021-06-15 14:02:06 +02:00
timbuart.c serial: timbuart: drop low-latency workaround 2021-04-22 12:09:26 +02:00
timbuart.h
uartlite.c tty: serial: uartlite: Prevent changing fixed parameters 2021-09-14 10:05:32 +02:00
ucc_uart.c firmware: replace HOTPLUG with UEVENT in FW_ACTION defines 2021-05-13 16:14:45 +02:00
vr41xx_siu.c tty: serial: vr41xx_siu: include <linux/io.h> instead of <asm/io.h> 2021-05-13 18:29:12 +02:00
vt8500_serial.c serial: vt8500: Use of_device_get_match_data 2021-08-26 14:51:10 +02:00
xilinx_uartps.c serial: xilinx_uartps: Fix race condition causing stuck TX 2021-10-26 19:17:05 +02:00
zs.c
zs.h