summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/imx.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-04-22 16:19:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-04-22 16:19:19 -0700
commit0f1d9f78ce41a8874d30271ef8480e6f8f7f1fce (patch)
treea55f50977c4f1c7d5f14beaeb8f4a71b8bcb7444 /drivers/tty/serial/imx.c
parent8c9e80ed276fc4b9c9fadf29d8bf6b3576112f1a (diff)
parent9db4e4381a8e881ff65a5d3400bfa471f84217e7 (diff)
Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
* 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty/n_gsm: fix bug in CRC calculation for gsm1 mode serial/imx: read cts state only after acking cts change irq parport_pc.c: correctly release the requested region for the IT887x
Diffstat (limited to 'drivers/tty/serial/imx.c')
-rw-r--r--drivers/tty/serial/imx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index cb36b0d4ef3..62df72d9f0a 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -382,12 +382,13 @@ static void imx_start_tx(struct uart_port *port)
static irqreturn_t imx_rtsint(int irq, void *dev_id)
{
struct imx_port *sport = dev_id;
- unsigned int val = readl(sport->port.membase + USR1) & USR1_RTSS;
+ unsigned int val;
unsigned long flags;
spin_lock_irqsave(&sport->port.lock, flags);
writel(USR1_RTSD, sport->port.membase + USR1);
+ val = readl(sport->port.membase + USR1) & USR1_RTSS;
uart_handle_cts_change(&sport->port, !!val);
wake_up_interruptible(&sport->port.state->port.delta_msr_wait);