Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: Gabriel Somlo <gsomlo@gmail.com>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20221123130500.1030189-8-gsomlo@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Gabriel Somlo and committed by
Greg Kroah-Hartman
77126884 2ee91d42

+1 -1
+1 -1
drivers/tty/serial/liteuart.c
··· 82 82 port->icount.rx++; 83 83 84 84 /* necessary for RXEMPTY to refresh its value */ 85 - litex_write8(membase + OFF_EV_PENDING, EV_TX | EV_RX); 85 + litex_write8(membase + OFF_EV_PENDING, EV_RX); 86 86 87 87 /* no overflow bits in status */ 88 88 if (!(uart_handle_sysrq_char(port, ch)))