Commit 8ff2d043 authored by Russell King's avatar Russell King

[SERIAL] Fix deadlock in __uart_start introduced in previous cset

Thanks to Zwane Mwaikambo for finding this.
parent 1cc1381e
...@@ -104,13 +104,10 @@ static void __uart_start(struct tty_struct *tty) ...@@ -104,13 +104,10 @@ static void __uart_start(struct tty_struct *tty)
{ {
struct uart_info *info = tty->driver_data; struct uart_info *info = tty->driver_data;
struct uart_port *port = info->port; struct uart_port *port = info->port;
unsigned long flags;
spin_lock_irqsave(&port->lock, flags);
if (!uart_circ_empty(&info->xmit) && info->xmit.buf && if (!uart_circ_empty(&info->xmit) && info->xmit.buf &&
!tty->stopped && !tty->hw_stopped) !tty->stopped && !tty->hw_stopped)
port->ops->start_tx(port, 1); port->ops->start_tx(port, 1);
spin_unlock_irqrestore(&port->flags, flags);
} }
static void uart_start(struct tty_struct *tty) static void uart_start(struct tty_struct *tty)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment