From 6d1d903099f6079511c9882399f6026faf41518a Mon Sep 17 00:00:00 2001 From: Fugang Duan Date: Fri, 8 Dec 2017 16:12:50 +0800 Subject: [PATCH] MLK-17133-03 tty: serial: lpuart: directly terminate rx dma chans in .shutdown() No need to wait dma_wait event, directly terminate rx dma chans in .shutdown() callback. Signed-off-by: Fugang Duan Signed-off-by: Robin Gong Reviewed-by: Robin Gong --- drivers/tty/serial/fsl_lpuart.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index a3ebd3f8b668..b7a5f333eb14 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -1422,12 +1422,8 @@ static void lpuart_shutdown(struct uart_port *port) spin_unlock_irqrestore(&port->lock, flags); if (sport->lpuart_dma_rx_use) { - ret = wait_event_interruptible_timeout(sport->dma_wait, - !sport->dma_rx_in_progress, msecs_to_jiffies(1)); - if (ret <= 0) { - sport->dma_rx_in_progress = false; - dmaengine_terminate_all(sport->dma_rx_chan); - } + sport->dma_rx_in_progress = false; + dmaengine_terminate_all(sport->dma_rx_chan); del_timer_sync(&sport->lpuart_timer); lpuart_dma_rx_free(&sport->port); } @@ -1471,12 +1467,8 @@ static void lpuart32_shutdown(struct uart_port *port) spin_unlock_irqrestore(&port->lock, flags); if (sport->lpuart_dma_rx_use) { - ret = wait_event_interruptible_timeout(sport->dma_wait, - !sport->dma_rx_in_progress, msecs_to_jiffies(1)); - if (ret <= 0) { - sport->dma_rx_in_progress = false; - dmaengine_terminate_all(sport->dma_rx_chan); - } + sport->dma_rx_in_progress = false; + dmaengine_terminate_all(sport->dma_rx_chan); if (!sport->dma_eeop) del_timer_sync(&sport->lpuart_timer); lpuart_dma_rx_free(&sport->port); -- 2.17.1