diff options
-rw-r--r-- | drivers/tty/serial/amba-pl011.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 8654049a70c0..6153a42d68db 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c | |||
@@ -501,7 +501,11 @@ static int pl011_dma_tx_refill(struct uart_amba_port *uap) | |||
501 | memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], count); | 501 | memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], count); |
502 | else { | 502 | else { |
503 | size_t first = UART_XMIT_SIZE - xmit->tail; | 503 | size_t first = UART_XMIT_SIZE - xmit->tail; |
504 | size_t second = xmit->head; | 504 | size_t second; |
505 | |||
506 | if (first > count) | ||
507 | first = count; | ||
508 | second = count - first; | ||
505 | 509 | ||
506 | memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], first); | 510 | memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], first); |
507 | if (second) | 511 | if (second) |