Commit 77126884 authored by Gabriel Somlo's avatar Gabriel Somlo Committed by Greg Kroah-Hartman
Browse files

serial: liteuart: rx loop should only ack rx events



While receiving characters, it is necessary to acknowledge each one
by writing to the EV_PENDING register's EV_RX bit. Ensure we do not
also gratuitously set the EV_TX bit in the process.

Signed-off-by: default avatarGabriel Somlo <gsomlo@gmail.com>
Reviewed-by: default avatarJiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20221123130500.1030189-8-gsomlo@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2ee91d42
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ static void liteuart_timer(struct timer_list *t)
		port->icount.rx++;

		/* necessary for RXEMPTY to refresh its value */
		litex_write8(membase + OFF_EV_PENDING, EV_TX | EV_RX);
		litex_write8(membase + OFF_EV_PENDING, EV_RX);

		/* no overflow bits in status */
		if (!(uart_handle_sysrq_char(port, ch)))