From d62d3075a22a4b76ca9d9b01cbc4ccc1e64ef335 Mon Sep 17 00:00:00 2001 From: hdinc Date: Sun, 3 Aug 2025 15:08:39 +0300 Subject: [PATCH] ns16550.cc : fix handling clear rx/tx FIFO requests. Signed-off-by: hdinc --- riscv/ns16550.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/riscv/ns16550.cc b/riscv/ns16550.cc index 4bda6f4a..4ae9dbe5 100644 --- a/riscv/ns16550.cc +++ b/riscv/ns16550.cc @@ -93,8 +93,8 @@ void ns16550_t::update_interrupt(void) uint8_t interrupts = 0; /* Handle clear rx */ - if (lcr & UART_FCR_CLEAR_RCVR) { - lcr &= ~UART_FCR_CLEAR_RCVR; + if (fcr & UART_FCR_CLEAR_RCVR) { + fcr &= ~UART_FCR_CLEAR_RCVR; while (!rx_queue.empty()) { rx_queue.pop(); } @@ -102,8 +102,8 @@ void ns16550_t::update_interrupt(void) } /* Handle clear tx */ - if (lcr & UART_FCR_CLEAR_XMIT) { - lcr &= ~UART_FCR_CLEAR_XMIT; + if (fcr & UART_FCR_CLEAR_XMIT) { + fcr &= ~UART_FCR_CLEAR_XMIT; lsr |= UART_LSR_TEMT | UART_LSR_THRE; }