diff options
Diffstat (limited to 'drivers/tty/serial/sccnxp.c')
| -rw-r--r-- | drivers/tty/serial/sccnxp.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/drivers/tty/serial/sccnxp.c b/drivers/tty/serial/sccnxp.c index c5f0e964ec05..c7dec1678f65 100644 --- a/drivers/tty/serial/sccnxp.c +++ b/drivers/tty/serial/sccnxp.c @@ -305,14 +305,19 @@ static void sccnxp_handle_rx(struct uart_port *port)  		if (unlikely(sr)) {  			if (sr & SR_BRK) {  				port->icount.brk++; +				sccnxp_port_write(port, SCCNXP_CR_REG, +						  CR_CMD_BREAK_RESET);  				if (uart_handle_break(port))  					continue;  			} else if (sr & SR_PE)  				port->icount.parity++;  			else if (sr & SR_FE)  				port->icount.frame++; -			else if (sr & SR_OVR) +			else if (sr & SR_OVR) {  				port->icount.overrun++; +				sccnxp_port_write(port, SCCNXP_CR_REG, +						  CR_CMD_STATUS_RESET); +			}  			sr &= port->read_status_mask;  			if (sr & SR_BRK) | 
