diff options
author | Alex Shi <alex.shi@linaro.org> | 2014-07-23 15:02:32 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2014-07-23 15:02:32 +0800 |
commit | a44e5e7cf580307809147cbec3d326e77524f757 (patch) | |
tree | 7fa9c6c5ed540c14ab0af60c36b288ebc56c0940 /drivers/tty | |
parent | d0bc082b9c9d792a65e062856eb559b534d81fd8 (diff) | |
parent | b775702bdb7b95bd03bc0b4cdbcd11650ea3a3f6 (diff) | |
download | juno-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.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 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; } |