OSDN Git Service

tty: serial: imx: correct dma cookie status
authorRobin Gong <yibin.gong@nxp.com>
Tue, 19 Jun 2018 16:56:58 +0000 (00:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jun 2018 12:02:38 +0000 (21:02 +0900)
Correct to check the right rx dma cookie status in spit of it
works because only one cookie is running in the current sdma.
But it will not once sdma driver support multi cookies
running based on virt-dma.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tested-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 3f2b33e..239c0fa 100644 (file)
@@ -1052,7 +1052,7 @@ static void imx_uart_dma_rx_callback(void *data)
        unsigned int r_bytes;
        unsigned int bd_size;
 
-       status = dmaengine_tx_status(chan, (dma_cookie_t)0, &state);
+       status = dmaengine_tx_status(chan, sport->rx_cookie, &state);
 
        if (status == DMA_ERROR) {
                imx_uart_clear_rx_errors(sport);