diff options
author | Alex Shi <alex.shi@linaro.org> | 2014-07-23 15:03:34 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2014-07-23 15:03:34 +0800 |
commit | c5767dc1dc9cb86d60b001d22f77e82921f2d4f4 (patch) | |
tree | 7fd3e0a65635cfa1218a0092d7f9e7dc006232ec /drivers/tty | |
parent | 4fea957a1af9aa6068b1a5346a92c0a2693e9b04 (diff) | |
parent | a44e5e7cf580307809147cbec3d326e77524f757 (diff) |
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-rt
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/altera_uart.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/samsung.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c index 13471dd95793..d983370eb05b 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 0c8a9fa2be6c..aaa0df1f2fc6 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; } |