summaryrefslogtreecommitdiff
path: root/drivers/tty/serial/imx.c
diff options
context:
space:
mode:
authorFugang Duan <fugang.duan@nxp.com>2021-11-25 04:43:06 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-25 20:38:19 +0300
commitc67643b46c28fc8bb7d81c65bc7eef18c3fbe972 (patch)
tree8c521671a6ddecfb2f05552e67ed81b1069f971a /drivers/tty/serial/imx.c
parentd78328bcc4d0e677f2ff83f4ae1f43c933fbd143 (diff)
downloadlinux-c67643b46c28fc8bb7d81c65bc7eef18c3fbe972.tar.xz
tty: serial: imx: clear the RTSD status before enable the RTSD irq
Clear RTSD status before enabling the irq event for RTSD in imx_uart_enable_wakeup function. Since RTSD can be set as the wakeup source, this can avoid any risk of false triggering of a wake-up interrupts. Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Fugang Duan <fugang.duan@nxp.com> Signed-off-by: Sherry Sun <sherry.sun@nxp.com> Link: https://lore.kernel.org/r/20211125014306.4432-1-sherry.sun@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/imx.c')
-rw-r--r--drivers/tty/serial/imx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 90f82e6c54e4..fb75e3e0d828 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -2482,10 +2482,12 @@ static void imx_uart_enable_wakeup(struct imx_port *sport, bool on)
if (sport->have_rtscts) {
u32 ucr1 = imx_uart_readl(sport, UCR1);
- if (on)
+ if (on) {
+ imx_uart_writel(sport, USR1_RTSD, USR1);
ucr1 |= UCR1_RTSDEN;
- else
+ } else {
ucr1 &= ~UCR1_RTSDEN;
+ }
imx_uart_writel(sport, ucr1, UCR1);
}
}