diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/serial/samsung.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c index 019b9154d7d4..f3dfa19a1cb8 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) | |||
249 | ufcon |= S3C2410_UFCON_RESETRX; | 249 | ufcon |= S3C2410_UFCON_RESETRX; |
250 | wr_regl(port, S3C2410_UFCON, ufcon); | 250 | wr_regl(port, S3C2410_UFCON, ufcon); |
251 | rx_enabled(port) = 1; | 251 | rx_enabled(port) = 1; |
252 | spin_unlock_irqrestore(&port->lock, | ||
253 | flags); | ||
252 | goto out; | 254 | goto out; |
253 | } | 255 | } |
254 | continue; | 256 | continue; |
@@ -297,10 +299,11 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id) | |||
297 | ignore_char: | 299 | ignore_char: |
298 | continue; | 300 | continue; |
299 | } | 301 | } |
302 | |||
303 | spin_unlock_irqrestore(&port->lock, flags); | ||
300 | tty_flip_buffer_push(&port->state->port); | 304 | tty_flip_buffer_push(&port->state->port); |
301 | 305 | ||
302 | out: | 306 | out: |
303 | spin_unlock_irqrestore(&port->lock, flags); | ||
304 | return IRQ_HANDLED; | 307 | return IRQ_HANDLED; |
305 | } | 308 | } |
306 | 309 | ||