serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs
authorVignesh Raghavendra <vigneshr@ti.com>
Tue, 22 Jun 2021 14:57:04 +0000 (20:27 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jun 2021 12:51:33 +0000 (14:51 +0200)
commitb67e830d38fa9335d927fe67e812e3ed81b4689c
tree70636675f05086b0915f541c0bfff9c03b10cb6c
parent08b0adb1ae5456a7785ac3c8fdfdc351206f99c3
serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs

On K3 family of SoCs (which includes AM654 SoC), it is observed that RX
TIMEOUT is signalled after RX FIFO has been drained, in which case a
dummy read of RX FIFO is required to clear RX TIMEOUT condition.
Otherwise, this would lead to an interrupt storm.

Fix this by introducing UART_RX_TIMEOUT_QUIRK flag and doing a dummy
read in IRQ handler when RX TIMEOUT is reported with no data in RX FIFO.

Fixes: be70874498f3 ("serial: 8250_omap: Add support for AM654 UART controller")
Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Link: https://lore.kernel.org/r/20210622145704.11168-1-vigneshr@ti.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_omap.c