Commit b8a6c3b3d465 ("tty: xilinx_uartps: Fix the ignore_status") used read_status_mask to mask the isrstatus, even though the commit appears to be fixing the application of the ignore_status_mask. This has a side effect of clearing any pending CDNS_UART_IXR_FRAMING bit, which in turn means that cdns_uart_handle_rx break detection will only process framing errors when parity is enabled (INPCK set via cdns_uart_set_termios). Fix this by removing the extra isrstatus masking with read_status_mask, which still allows the ignore_status_mask to be applied. Fixes: b8a6c3b3d465 ("tty: xilinx_uartps: Fix the ignore_status") Signed-off-by: James Minor <jminor1@xxxxxxxxxxxxxxxxxxxxx> --- The other alternative to this would be a straight revert of b8a6c3b3d465, since read_status_mask and ignore_status_mask are both applied in cnds_uart_handle_rx anyway. Let me know the preference here and I will change accordingly. drivers/tty/serial/xilinx_uartps.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c index 2acfcea403ce..e9165ae3c2e8 100644 --- a/drivers/tty/serial/xilinx_uartps.c +++ b/drivers/tty/serial/xilinx_uartps.c @@ -485,7 +485,6 @@ static irqreturn_t cdns_uart_isr(int irq, void *dev_id) isrstatus &= ~CDNS_UART_IXR_TXEMPTY; } - isrstatus &= port->read_status_mask; isrstatus &= ~port->ignore_status_mask; /* * Skip RX processing if RX is disabled as RXEMPTY will never be set -- 2.34.1