|
@@ -1418,7 +1418,7 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
|
|
|
mutex_lock(&port->mutex);
|
|
|
uart_shutdown(tty, state);
|
|
|
tty_port_tty_set(port, NULL);
|
|
|
- tty->closing = 0;
|
|
|
+
|
|
|
spin_lock_irqsave(&port->lock, flags);
|
|
|
|
|
|
if (port->blocked_open) {
|
|
@@ -1444,6 +1444,7 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
|
|
|
mutex_unlock(&port->mutex);
|
|
|
|
|
|
tty_ldisc_flush(tty);
|
|
|
+ tty->closing = 0;
|
|
|
}
|
|
|
|
|
|
static void uart_wait_until_sent(struct tty_struct *tty, int timeout)
|