]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/commitdiff
tty: xuartps: Keep lock for whole ISR
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Sat, 26 Dec 2015 10:43:54 +0000 (02:43 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Feb 2016 06:52:09 +0000 (22:52 -0800)
The RX path in the interrupt handler released a lock unnecessarily.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/xilinx_uartps.c

index 6ffd3bbe3e18516d6625518fd81bd1a43cb2d3be..ab3995d00973ac4d45fc405606f9686495e841c4 100644 (file)
@@ -265,9 +265,7 @@ static irqreturn_t cdns_uart_isr(int irq, void *dev_id)
                        uart_insert_char(port, isrstatus, CDNS_UART_IXR_OVERRUN,
                                        data, status);
                }
-               spin_unlock(&port->lock);
                tty_flip_buffer_push(&port->state->port);
-               spin_lock(&port->lock);
        }
 
        /* Dispatch an appropriate handler */