serial: imx: disable UCR4_OREN on shutdown
UCR4_OREN is (depending on the configuration) enabled in startup, but is never disabled. Fix this by disabling it in shutdown. Reported-by: Nandor Han <nandor.han@ge.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Acked-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
0fdf178785
commit
339c7a8757
|
@ -1422,7 +1422,7 @@ static void imx_uart_shutdown(struct uart_port *port)
|
|||
{
|
||||
struct imx_port *sport = (struct imx_port *)port;
|
||||
unsigned long flags;
|
||||
u32 ucr1, ucr2;
|
||||
u32 ucr1, ucr2, ucr4;
|
||||
|
||||
if (sport->dma_is_enabled) {
|
||||
dmaengine_terminate_sync(sport->dma_chan_tx);
|
||||
|
@ -1452,6 +1452,10 @@ static void imx_uart_shutdown(struct uart_port *port)
|
|||
ucr2 = imx_uart_readl(sport, UCR2);
|
||||
ucr2 &= ~(UCR2_TXEN | UCR2_ATEN);
|
||||
imx_uart_writel(sport, ucr2, UCR2);
|
||||
|
||||
ucr4 = imx_uart_readl(sport, UCR4);
|
||||
ucr4 &= ~UCR4_OREN;
|
||||
imx_uart_writel(sport, ucr4, UCR4);
|
||||
spin_unlock_irqrestore(&sport->port.lock, flags);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue