|
@@ -140,7 +140,10 @@ static void handle_rx_dm(struct uart_port *port, unsigned int misr)
|
|
|
count -= 4;
|
|
|
}
|
|
|
|
|
|
+ spin_unlock(&port->lock);
|
|
|
tty_flip_buffer_push(tport);
|
|
|
+ spin_lock(&port->lock);
|
|
|
+
|
|
|
if (misr & (UART_IMR_RXSTALE))
|
|
|
msm_write(port, UART_CR_CMD_RESET_STALE_INT, UART_CR);
|
|
|
msm_write(port, 0xFFFFFF, UARTDM_DMRX);
|
|
@@ -192,7 +195,9 @@ static void handle_rx(struct uart_port *port)
|
|
|
tty_insert_flip_char(tport, c, flag);
|
|
|
}
|
|
|
|
|
|
+ spin_unlock(&port->lock);
|
|
|
tty_flip_buffer_push(tport);
|
|
|
+ spin_lock(&port->lock);
|
|
|
}
|
|
|
|
|
|
static void reset_dm_count(struct uart_port *port, int count)
|