diff --git a/drivers/serial/serial_dma.c b/drivers/serial/serial_dma.c index a638ac4c292..7e831c97e32 100644 --- a/drivers/serial/serial_dma.c +++ b/drivers/serial/serial_dma.c @@ -206,10 +206,13 @@ void uart_xmitchars_done(FAR uart_dev_t *dev) /* Move tail for nbytes. */ txbuf->tail = (txbuf->tail + nbytes) % txbuf->size; - xfer->nbytes = 0; - xfer->length = xfer->nlength = 0; } + /* Reset xmit buffer. */ + + xfer->nbytes = 0; + xfer->length = xfer->nlength = 0; + /* If any bytes were removed from the buffer, inform any waiters there * there is space available. */