serial: imx: Stop to receive in .stop_rx()
When the UART is used in DMA mode, .stop_rx() does nothing if the port isn't suspended. This is wrong as .stop_rx() should stop receiving characters unconditionally. When the port is about to be closed the DMA channel is stopped in .shutdown(), so this isn't necessary to be in .stop_rx() here, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
02b0abd3bb
commit
dedc64e02f
|
@ -442,15 +442,6 @@ static void imx_stop_rx(struct uart_port *port)
|
|||
struct imx_port *sport = (struct imx_port *)port;
|
||||
u32 ucr1, ucr2;
|
||||
|
||||
if (sport->dma_is_rxing) {
|
||||
if (sport->port.suspended) {
|
||||
dmaengine_terminate_all(sport->dma_chan_rx);
|
||||
sport->dma_is_rxing = 0;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
ucr2 = imx_uart_readl(sport, UCR2);
|
||||
imx_uart_writel(sport, ucr2 & ~UCR2_RXEN, UCR2);
|
||||
|
||||
|
|
Loading…
Reference in New Issue