]> Pileus Git - ~andy/linux/blobdiff - drivers/tty/serial/nwpserial.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux...
[~andy/linux] / drivers / tty / serial / nwpserial.c
index 549c70a2a63e8397521b63fd6120e7dad9cfb079..693bc6c2561ec5460818e098b0bc286b1786cfb7 100644 (file)
@@ -149,7 +149,10 @@ static irqreturn_t nwpserial_interrupt(int irq, void *dev_id)
                        tty_insert_flip_char(port, ch, TTY_NORMAL);
        } while (dcr_read(up->dcr_host, UART_LSR) & UART_LSR_DR);
 
+       spin_unlock(&up->port.lock);
        tty_flip_buffer_push(port);
+       spin_lock(&up->port.lock);
+
        ret = IRQ_HANDLED;
 
        /* clear interrupt */