aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2014-07-23 15:02:32 +0800
committerAlex Shi <alex.shi@linaro.org>2014-07-23 15:02:32 +0800
commita44e5e7cf580307809147cbec3d326e77524f757 (patch)
tree7fa9c6c5ed540c14ab0af60c36b288ebc56c0940 /drivers/tty
parentd0bc082b9c9d792a65e062856eb559b534d81fd8 (diff)
parentb775702bdb7b95bd03bc0b4cdbcd11650ea3a3f6 (diff)
downloadjuno-a44e5e7cf580307809147cbec3d326e77524f757.tar.gz
Merge branch 'v3.10/topic/misc' into linux-linaro-lsk
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/altera_uart.c2
-rw-r--r--drivers/tty/serial/samsung.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c
index 13471dd9579..d983370eb05 100644
--- a/drivers/tty/serial/altera_uart.c
+++ b/drivers/tty/serial/altera_uart.c
@@ -231,7 +231,9 @@ static void altera_uart_rx_chars(struct altera_uart *pp)
flag);
}
+ spin_unlock(&port->lock);
tty_flip_buffer_push(&port->state->port);
+ spin_lock(&port->lock);
}
static void altera_uart_tx_chars(struct altera_uart *pp)
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
index 0c8a9fa2be6..aaa0df1f2fc 100644
--- a/drivers/tty/serial/samsung.c
+++ b/drivers/tty/serial/samsung.c
@@ -249,6 +249,8 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id)
ufcon |= S3C2410_UFCON_RESETRX;
wr_regl(port, S3C2410_UFCON, ufcon);
rx_enabled(port) = 1;
+ spin_unlock_irqrestore(&port->lock,
+ flags);
goto out;
}
continue;
@@ -297,10 +299,11 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id)
ignore_char:
continue;
}
+
+ spin_unlock_irqrestore(&port->lock, flags);
tty_flip_buffer_push(&port->state->port);
out:
- spin_unlock_irqrestore(&port->lock, flags);
return IRQ_HANDLED;
}