summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/tty/serial/mvf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/mvf.c b/drivers/tty/serial/mvf.c
index ae35ffdf4907..1bf9a474aa46 100644
--- a/drivers/tty/serial/mvf.c
+++ b/drivers/tty/serial/mvf.c
@@ -552,6 +552,10 @@ static int imx_setup_watermark(struct imx_port *sport, unsigned int mode)
MXC_UARTCR2_RIE | MXC_UARTCR2_RE);
writeb(cr2, sport->port.membase + MXC_UARTCR2);
+ /* Clear pending receive interrupt if needed */
+ while (readb(sport->port.membase + MXC_UARTSR1) & MXC_UARTSR1_RDRF)
+ val = readb(sport->port.membase + MXC_UARTDR);
+
val = TXTL;
writeb(val, sport->port.membase + MXC_UARTTWFIFO);
val = RXTL;