On 29.03.23 21:22, Alex White wrote:
diff --git a/bsps/microblaze/shared/dev/serial/uartlite.c 
b/bsps/microblaze/shared/dev/serial/uartlite.c
index e2007ee24a..f1b3c013a0 100644
--- a/bsps/microblaze/shared/dev/serial/uartlite.c
+++ b/bsps/microblaze/shared/dev/serial/uartlite.c
@@ -47,10 +47,6 @@ static void microblaze_uart_interrupt( void *arg )
      char c = (char) XUartLite_ReadReg( ctx->address, XUL_RX_FIFO_OFFSET );
      rtems_termios_enqueue_raw_characters( tty, &c, 1 );
    }
-
-  while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx->address ) ) {
-    rtems_termios_dequeue_characters( tty, 1 );
-  }
  }
  #endif
@@ -81,6

I don't know the hardware, but this patch is very strange. Does it really work?

Maybe it should just change the loop to:

while ( ctx->transmitting && XUartLite_IsTransmitEmpty( ctx->address ) ) {
    rtems_termios_dequeue_characters( tty, 1 );
  }

When the transmit register is empty, you can dequeue the transmitted char from the Termios transmit queue.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to