sst-linux/drivers/tty/serial
Sherry Sun bbadf50383 tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers
[ Upstream commit f5cb528d6441eb860250a2f085773aac4f44085e ]

According to the LPUART reference manual, TXRTSE and TXRTSPOL of MODIR
register only can be changed when the transmitter is disabled.
So disable the transmitter before changing RS485 related registers and
re-enable it after the change is done.

Fixes: 67b0183786 ("tty: serial: lpuart: Add RS485 support for 32-bit uart flavour")
Cc: stable <stable@kernel.org>
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250312022503.1342990-1-sherry.sun@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-04-10 14:33:41 +02:00
..
8250 serial: 8250_dma: terminate correct DMA in tx_dma_flush() 2025-04-07 10:05:46 +02:00
cpm_uart serial: cpm_uart: Avoid suspicious locking 2023-09-23 11:11:07 +02:00
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 tty: atmel_serial: use the correct RTS flag. 2024-08-29 17:30:12 +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: Update mctrl old_status on RTSD interrupt 2024-11-01 01:56:02 +01: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 tty: serial: meson: fix hard LOCKUP on crtscts mode 2023-11-28 17:07:08 +00:00
milbeaut_usio.c
mpc52xx_uart.c
mps2-uart.c
msm_serial.c
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 serial: omap: do not override settings for RS485 support 2024-01-25 15:27:41 -08:00
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 tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT 2024-03-26 18:20:57 -04:00
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.h
serial_txx9.c
serial-tegra.c serial: tegra: handle clk prepare error in tegra_uart_hw_init() 2023-09-13 09:42:56 +02:00
sh-sci.c serial: sh-sci: Do not probe the serial port if its slot in sci_ports[] is in use 2025-02-21 13:49:44 +01:00
sh-sci.h
sifive.c
sprd_serial.c
st-asc.c
stm32-usart.c serial: stm32: Reset .throttled state in .startup() 2024-04-27 17:07:14 +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
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