mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
serial: pl011: Avoid assumptions about buffer size when refilling TX DMA
The existing code assumed that PL011_DMA_BUFFER_SIZE == UART_XMIT_SIZE, which may not always be the case. This allows for these two being different sizes and not copying too much data. Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4c0be45b18
commit
e2a545a6ae
1 changed files with 5 additions and 1 deletions
|
@ -501,7 +501,11 @@ static int pl011_dma_tx_refill(struct uart_amba_port *uap)
|
|||
memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], count);
|
||||
else {
|
||||
size_t first = UART_XMIT_SIZE - xmit->tail;
|
||||
size_t second = xmit->head;
|
||||
size_t second;
|
||||
|
||||
if (first > count)
|
||||
first = count;
|
||||
second = count - first;
|
||||
|
||||
memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], first);
|
||||
if (second)
|
||||
|
|
Loading…
Add table
Reference in a new issue