From: Andy Shevchenko Date: Thu, 22 Jan 2015 12:40:27 +0000 (+0200) Subject: serial: 8250_dma: don't bother DMA with small transfers X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9119fba0cfeda6d415c9f068df66838a104b87cb;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git serial: 8250_dma: don't bother DMA with small transfers If we would like to send amount of data less than FIFO size we better would do this via PIO mode. Otherwise the overhead could be significant. Signed-off-by: Andy Shevchenko Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/8250/8250_dma.c b/drivers/tty/serial/8250/8250_dma.c index e508939daea3..21d01a491405 100644 --- a/drivers/tty/serial/8250/8250_dma.c +++ b/drivers/tty/serial/8250/8250_dma.c @@ -80,6 +80,10 @@ int serial8250_tx_dma(struct uart_8250_port *p) return 0; dma->tx_size = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE); + if (dma->tx_size < p->port.fifosize) { + ret = -EINVAL; + goto err; + } desc = dmaengine_prep_slave_single(dma->txchan, dma->tx_addr + xmit->tail,