]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
serial: 8250: 8250_omap.c: Add support for handling UART error conditions
authorMoteen Shah <m-shah@ti.com>
Mon, 12 Jan 2026 08:18:28 +0000 (13:48 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Jan 2026 13:25:45 +0000 (14:25 +0100)
commit623b07b370e9963122d167e04fdc1dc713ebfbaf
tree65df714e14f622ef66aff6aa408fa4a193edaa52
parent93bb95a11238d66a4c9aa6eabf9774b073a5895c
serial: 8250: 8250_omap.c: Add support for handling UART error conditions

The DMA IRQ handler does not accounts for the overrun(OE) or any other
errors being reported by the IP before triggering a DMA transaction which
leads to the interrupts not being handled resulting into an IRQ storm.

The way to handle OE is to:
1. Reset the RX FIFO.
2. Read the UART_RESUME register, which clears the internal flag

Earlier, the driver issued DMA transations even in case of OE which shouldn't
be done according to the OE handling mechanism mentioned above, as we are
resetting the FIFO's, refer section: "12.1.6.4.8.1.3.6 Overrun During
Receive" [0].

[0] https://www.ti.com/lit/pdf/spruiu1

Signed-off-by: Moteen Shah <m-shah@ti.com>
Link: https://patch.msgid.link/20260112081829.63049-2-m-shah@ti.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_omap.c