diff options
Diffstat (limited to 'drivers/serial/imx.c')
-rw-r--r-- | drivers/serial/imx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c index c637ae219126..f7596641f121 100644 --- a/drivers/serial/imx.c +++ b/drivers/serial/imx.c | |||
@@ -356,10 +356,12 @@ static irqreturn_t imx_rxint(int irq, void *dev_id) | |||
356 | 356 | ||
357 | spin_lock_irqsave(&sport->port.lock,flags); | 357 | spin_lock_irqsave(&sport->port.lock,flags); |
358 | 358 | ||
359 | while ((rx = readl(sport->port.membase + URXD0)) & URXD_CHARRDY) { | 359 | while (readl(sport->port.membase + USR2) & USR2_RDR) { |
360 | flg = TTY_NORMAL; | 360 | flg = TTY_NORMAL; |
361 | sport->port.icount.rx++; | 361 | sport->port.icount.rx++; |
362 | 362 | ||
363 | rx = readl(sport->port.membase + URXD0); | ||
364 | |||
363 | temp = readl(sport->port.membase + USR2); | 365 | temp = readl(sport->port.membase + USR2); |
364 | if (temp & USR2_BRCD) { | 366 | if (temp & USR2_BRCD) { |
365 | writel(temp | USR2_BRCD, sport->port.membase + USR2); | 367 | writel(temp | USR2_BRCD, sport->port.membase + USR2); |