linux/drivers/tty/serial
Uwe Kleine-König ea2624b5b8 serial: stm32: Reset .throttled state in .startup()
When an UART is opened that still has .throttled set from a previous
open, the RX interrupt is enabled but the irq handler doesn't consider
it. This easily results in a stuck irq with the effect to occupy the CPU
in a tight loop.

So reset the throttle state in .startup() to ensure that RX irqs are
handled.

Fixes: d1ec8a2eab ("serial: stm32: update throttle and unthrottle ops for dma mode")
Cc: stable@vger.kernel.org
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/a784f80d3414f7db723b2ec66efc56e1ad666cbf.1713344161.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-17 13:26:45 +02:00
..
8250 serial: 8250_pci: Remove redundant PCI IDs 2024-04-09 15:57:01 +02:00
jsm tty: jsm: Remove redundant assignment to variable linestatus 2024-02-18 18:59:58 +01:00
21285.c
altera_jtaguart.c
altera_uart.c
amba-pl010.c
amba-pl011.c serial: amba-pl011: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:20 +01:00
apbuart.c
apbuart.h
ar933x_uart.c serial: ar933x: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:20 +01:00
arc_uart.c
atmel_serial.c
atmel_serial.h
bcm63xx_uart.c serial: bcm63xx: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:20 +01:00
clps711x.c
cpm_uart.c
cpm_uart.h
digicolor-usart.c
dz.c
dz.h
earlycon-riscv-sbi.c
earlycon-semihost.c
earlycon.c
esp32_acm.c
esp32_uart.c
fsl_linflexuart.c serial: linflexuart: Remove redundant uart type assignment 2024-01-27 18:40:17 -08:00
fsl_lpuart.c tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled 2024-03-05 13:40:07 +00:00
icom.c
imx.c tty: serial: imx: Fix broken RS485 2024-03-02 22:10:35 +01:00
imx_earlycon.c
ip22zilog.c
ip22zilog.h
Kconfig RISC-V Patches for the 6.8 Merge Window, Part 4 2024-01-20 11:06:04 -08:00
kgdb_nmi.c
kgdboc.c
lantiq.c
liteuart.c
lpc32xx_hs.c serial: lpc32xx_hs: Use uart_prepare_sysrq_char() to handle sysrq. 2024-03-02 22:06:21 +01:00
ma35d1_serial.c
Makefile
max310x.c Merge 6.8-rc3 into tty-next 2024-02-04 06:21:02 -08:00
max3100.c
mcf.c drivers/tty/serial: Remove unused function early_mcf_setup 2024-03-02 21:52:35 +01:00
men_z135_uart.c
meson_uart.c serial: meson: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:21 +01:00
milbeaut_usio.c
mpc52xx_uart.c
mps2-uart.c
msm_serial.c serial: msm: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:21 +01:00
mux.c
mvebu-uart.c
mxs-auart.c serial: mxs-auart: add spinlock around changing cts state 2024-04-09 15:56:41 +02:00
omap-serial.c serial: omap: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:21 +01:00
owl-uart.c serial: owl: Use uart_prepare_sysrq_char() to handle sysrq. 2024-03-02 22:06:21 +01:00
pch_uart.c serial: pch: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:22 +01:00
pic32_uart.c
pmac_zilog.c serial/pmac_zilog: Remove flawed mitigation for rx irq flood 2024-04-09 15:57:12 +02:00
pmac_zilog.h
pxa.c serial: pxa: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:21 +01:00
qcom_geni_serial.c TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
rda-uart.c serial: rda: Use uart_prepare_sysrq_char() to handle sysrq. 2024-03-02 22:06:21 +01:00
rp2.c
sa1100.c
samsung_tty.c serial: samsung: honor fifosize from dts at first 2024-03-02 22:04:05 +01:00
sb1250-duart.c
sc16is7xx.c
sccnxp.c
serial-tegra.c
serial_base.h serial: core: Fix missing shutdown and startup for serial base port 2024-04-11 14:21:11 +02:00
serial_base_bus.c serial: core: make serial_base_bus_type const 2024-02-06 14:35:42 +00:00
serial_core.c serial: core: Fix missing shutdown and startup for serial base port 2024-04-11 14:21:11 +02:00
serial_ctrl.c
serial_mctrl_gpio.c
serial_mctrl_gpio.h
serial_port.c serial: core: Fix missing shutdown and startup for serial base port 2024-04-11 14:21:11 +02:00
serial_txx9.c serial: txx9: Add missing #include <asm/txx9/generic.h> 2024-01-27 19:05:39 -08:00
sh-sci.c serial: sh-sci: Call sci_serial_{in,out}() directly 2024-03-05 13:37:32 +00:00
sh-sci.h
sifive.c serial: sifive: Use uart_prepare_sysrq_char() to handle sysrq. 2024-03-02 22:06:21 +01:00
sprd_serial.c
st-asc.c serial: st-asc: don't get/put GPIOs in atomic context 2024-03-02 22:04:12 +01:00
stm32-usart.c serial: stm32: Reset .throttled state in .startup() 2024-04-17 13:26:45 +02:00
stm32-usart.h serial: stm32: get FIFO size from hwcfg register 2024-01-27 19:04:11 -08:00
suncore.c
sunhv.c
sunplus-uart.c serial: sunplus: Use uart_prepare_sysrq_char(). 2024-03-02 22:06:21 +01:00
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: serial: uartps: Add rs485 support to uartps driver 2024-01-27 19:07:08 -08:00
zs.c
zs.h