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 3f2b33ecf30aa21fce57702d113af87d8c3ca8ba..239c0fa2e9816805cd134fad697495f7f7929d4b 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);