Browse Source

Merge pull request #2048 from hdinc/patch-1

ns16550.cc : fix handling clear rx/tx FIFO requests.
pull/2049/head
Andrew Waterman 9 months ago
committed by GitHub
parent
commit
d4568f6693
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 8
      riscv/ns16550.cc

8
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;
}

Loading…
Cancel
Save