OSDN Git Service

serial: imx: TX DMA: clean up sg initialization
authorDirk Behme <dirk.behme@de.bosch.com>
Tue, 9 Dec 2014 09:11:25 +0000 (18:11 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2015 22:23:07 +0000 (14:23 -0800)
Inverting the logic of the if statement for the sg initialization
makes the if statement easier and better to read.

No functional change.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 146663c..5cea7d2 100644 (file)
@@ -539,15 +539,15 @@ static void imx_dma_tx(struct imx_port *sport)
 
        sport->tx_bytes = uart_circ_chars_pending(xmit);
 
-       if (xmit->tail > xmit->head && xmit->head > 0) {
+       if (xmit->tail < xmit->head) {
+               sport->dma_tx_nents = 1;
+               sg_init_one(sgl, xmit->buf + xmit->tail, sport->tx_bytes);
+       } else {
                sport->dma_tx_nents = 2;
                sg_init_table(sgl, 2);
                sg_set_buf(sgl, xmit->buf + xmit->tail,
                                UART_XMIT_SIZE - xmit->tail);
                sg_set_buf(sgl + 1, xmit->buf, xmit->head);
-       } else {
-               sport->dma_tx_nents = 1;
-               sg_init_one(sgl, xmit->buf + xmit->tail, sport->tx_bytes);
        }
 
        ret = dma_map_sg(dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE);