]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
serial: 8250: fix possible ISR soft lockup
authorMarco Felsch <m.felsch@pengutronix.de>
Tue, 19 May 2026 09:57:00 +0000 (11:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 May 2026 09:47:22 +0000 (11:47 +0200)
commit0c6bf45e5a345cc3b9ffbeaf9083ecac3c2293eb
tree077579f21a8d3071f4606a300447fdbe1ee4f2ea
parent5aaaf31af7d61c20b283dba9e84faf0d10fb265b
serial: 8250: fix possible ISR soft lockup

There are rare cases in which the host gets stuck in the ISR because it
is flooded with messages during the startup phase.

The reason for the soft lockup in the ISR is the missing FIFO error IRQ
(FIFOE) handling. Not handling it and reporting IRQ_HANDLED triggers
the IRQ immediately again.

Fix this by adding a check for the FIFOE status and clearing the FIFO
if no data is ready (DR).

This behavior was observed on an AM62L device which uses the OMAP 8250
driver. Fix it for all 8250 drivers, since the OMAP driver's special
IRQ setup handling may trigger this behavior more frequently, but it
is not ensured that other 8250 drivers aren't affected.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Link: https://patch.msgid.link/20260519-v7-1-topic-serial-8250-v1-1-56b04293a246@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c