Re: [PATCH v2] serial: 8250: clear a stuck RX-timeout interrupt with an empty FIFO

From: Ryan Wilbur

Date: Tue Jul 21 2026 - 18:46:12 EST


> I suspect Andy meant you should put this into hw specific file into a
> hw-specific handle_irq. That could be setup in 8250_of.c, it already
> seems to do something like that for some specific type.

Thanks. I'll move the fix out of 8250_port.c into a PORT_LPC3220
handle_irq, wired up in 8250_of.c the same way fsl8250_handle_irq is,
with the handler logic following dw8250_handle_irq's empty-FIFO
RX-timeout read.

> (8250_dw include check for LSR_BI bit and this one doesn't seem
> include that bit, not sure if that's an oversight or intentional
> difference [...])

The missing LSR_BI check was an oversight, I'll gate on
!(LSR & (UART_LSR_DR | UART_LSR_BI)) to match dw.

> So 3rd alternative would be to add e.g. UART_BUG_SPURIOUSRXTO but again
> there are the per driver variations. [...] definitely cleaner approach
> than copy-pasting this code around.

I'll go with the per device handler over the UART_BUG_SPURIOUSRXTO
callback because I can only test LPC32xx and I'm not comfortable touching
drivers I can't explicitly test against.