linux-yocto/drivers/tty/serial
Fabio Estevam ea5838934d serial: imx: Restore original RXTL for console to fix data loss
commit f23c52aafb upstream.

Commit 7a637784d5 ("serial: imx: reduce RX interrupt frequency")
introduced a regression on the i.MX6UL EVK board. The issue can be
reproduced with the following steps:

- Open vi on the board.
- Paste a text file (~150 characters).
- Save the file, then repeat the process.
- Compare the sha256sum of the saved files.

The checksums do not match due to missing characters or entire lines.

Fix this by restoring the RXTL value to 1 when the UART is used as a
console.

This ensures timely RX interrupts and reliable data reception in console
mode.

With this change, pasted content is saved correctly, and checksums are
always consistent.

Cc: stable <stable@kernel.org>
Fixes: 7a637784d5 ("serial: imx: reduce RX interrupt frequency")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20250619114617.2791939-1-festevam@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-06 10:58:01 +02:00
..
8250 serial: mctrl_gpio: split disable_ms into sync and no_sync APIs 2025-06-04 14:40:13 +02:00
cpm_uart
jsm
21285.c
altera_jtaguart.c
altera_uart.c
amba-pl010.c
amba-pl011.c serial: amba-pl011: fix build regression 2024-12-14 19:54:55 +01:00
apbuart.c
apbuart.h
ar933x_uart.c
arc_uart.c
atmel_serial.c serial: mctrl_gpio: split disable_ms into sync and no_sync APIs 2025-06-04 14:40:13 +02:00
atmel_serial.h
bcm63xx_uart.c
clps711x.c
digicolor-usart.c
dz.c
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c
earlycon.c
fsl_linflexuart.c
fsl_lpuart.c tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers 2025-04-10 14:33:41 +02:00
icom.c
imx_earlycon.c
imx.c serial: imx: Restore original RXTL for console to fix data loss 2025-07-06 10:58:01 +02:00
ip22zilog.c
ip22zilog.h
Kconfig
kgdb_nmi.c
kgdboc.c serial: kgdboc: Fix NMI-safety problems from keyboard reset code 2024-05-25 16:21:35 +02:00
lantiq.c
liteuart.c
lpc32xx_hs.c
Makefile
max310x.c serial: Make uart_handle_cts_change() status param bool active 2024-11-01 01:56:02 +01:00
max3100.c serial: Make uart_handle_cts_change() status param bool active 2024-11-01 01:56:02 +01:00
mcf.c tty: mcf: MCF54418 has 10 UARTS 2024-07-05 09:31:56 +02:00
men_z135_uart.c
meson_uart.c
milbeaut_usio.c serial: Fix potential null-ptr-deref in mlb_usio_probe() 2025-06-27 11:07:16 +01:00
mpc52xx_uart.c
mps2-uart.c
msm_serial.c serial: msm: Configure correct working mode before starting earlycon 2025-05-02 07:46:58 +02:00
mux.c
mvebu-uart.c
mxs-auart.c serial: mxs-auart: add spinlock around changing cts state 2024-04-27 17:07:14 +02:00
omap-serial.c
owl-uart.c
pch_uart.c
pic32_uart.c
pmac_zilog.c serial/pmac_zilog: Remove flawed mitigation for rx irq flood 2024-04-27 17:07:14 +02:00
pmac_zilog.h
pxa.c
qcom_geni_serial.c
rda-uart.c
rp2.c tty: rp2: Fix reset with non forgiving PCIe host bridges 2024-10-17 15:21:20 +02:00
sa1100.c
samsung_tty.c
sb1250-duart.c
sc16is7xx.c serial: sc16is7xx: fix invalid FIFO access with special register set 2024-12-14 19:53:11 +01:00
sccnxp.c
serial_core.c serial: protect uart_port_dtr_rts() in uart_shutdown() too 2024-11-01 01:56:07 +01:00
serial_mctrl_gpio.c serial: mctrl_gpio: split disable_ms into sync and no_sync APIs 2025-06-04 14:40:13 +02:00
serial_mctrl_gpio.h serial: mctrl_gpio: split disable_ms into sync and no_sync APIs 2025-06-04 14:40:13 +02:00
serial_txx9.c
serial-tegra.c
sh-sci.c serial: sh-sci: Increment the runtime usage counter for the earlycon device 2025-06-27 11:07:40 +01:00
sh-sci.h
sifive.c serial: sifive: lock port in startup()/shutdown() callbacks 2025-05-02 07:46:58 +02:00
sprd_serial.c
st-asc.c
stm32-usart.c serial: mctrl_gpio: split disable_ms into sync and no_sync APIs 2025-06-04 14:40:13 +02:00
stm32-usart.h
suncore.c
sunhv.c tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool active 2024-11-01 01:56:02 +01:00
sunplus-uart.c
sunsab.c
sunsab.h
sunsu.c
sunzilog.c
sunzilog.h
tegra-tcu.c
timbuart.c
timbuart.h
uartlite.c tty: serial: uartlite: register uart driver in init 2025-07-06 10:57:55 +02:00
ucc_uart.c
vt8500_serial.c
xilinx_uartps.c tty: xilinx_uartps: split sysrq handling 2025-02-21 13:49:54 +01:00
zs.c
zs.h