tty/serial: at91: correct buffer size used in DMA
authorLeilei Zhao <leilei.zhao@atmel.com>
Fri, 27 Feb 2015 08:07:15 +0000 (16:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Mar 2015 02:51:47 +0000 (03:51 +0100)
The buffer size set in DMA is inconsistent with its allocation.
So keep them consistent here. The structure atmel_uart_char is
used in PIO mode with its meaning. But here in DMA, all of the
buffer is treated as general char.

Signed-off-by: Leilei Zhao <leilei.zhao@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/atmel_serial.c

index 1a1d255baab5df197c4006df52d974d0223a1c26..6b70ec6d17046610968f5e321941df56b91c812f 100644 (file)
@@ -1030,7 +1030,7 @@ static int atmel_prepare_rx_dma(struct uart_port *port)
        BUG_ON(!PAGE_ALIGNED(ring->buf));
        sg_set_page(&atmel_port->sg_rx,
                    virt_to_page(ring->buf),
-                   ATMEL_SERIAL_RINGSIZE,
+                   sizeof(struct atmel_uart_char) * ATMEL_SERIAL_RINGSIZE,
                    (int)ring->buf & ~PAGE_MASK);
        nent = dma_map_sg(port->dev,
                          &atmel_port->sg_rx,