diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-07 15:42:47 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-07 16:35:20 +0200 |
commit | 2fd3e65fac074f47538c7c76db4ff6b7902641a0 (patch) | |
tree | 49d91b21f223afbe3f03bdcb7cc366ab3ee400e5 /c/src/libchip/serial/ns16550.h | |
parent | libchip/serial: Add alternative NS16550 driver (diff) | |
download | rtems-2fd3e65fac074f47538c7c76db4ff6b7902641a0.tar.bz2 |
libchip/serial: Fix NS16550 for pppstart()
Call rtems_termios_dequeue_characters() only in case all characters of
the last write handler invocation have been transmitted. This avoids
problems with pppstart() since the start line discipline does not know
how many characters have been dequeued and assumes the maximum.
Diffstat (limited to '')
-rw-r--r-- | c/src/libchip/serial/ns16550.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/c/src/libchip/serial/ns16550.h b/c/src/libchip/serial/ns16550.h index ef1f9f9d95..0b05fe3df3 100644 --- a/c/src/libchip/serial/ns16550.h +++ b/c/src/libchip/serial/ns16550.h @@ -70,7 +70,10 @@ typedef struct { uint32_t initial_baud; bool has_fractional_divider_register; uint8_t modem_control; - size_t transmit_fifo_chars; + size_t out_total; + size_t out_remaining; + size_t out_current; + const char *out_buf; } ns16550_context; extern const rtems_termios_device_handler ns16550_handler_interrupt; |