提交 436002e3 编写于 作者: D David S. Miller

[SUNSU]: Fix locking error in sunsu_stop_rx().

The caller takes the UART port lock, so we shouldn't try
to take it again.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 b9756c04
...@@ -299,13 +299,10 @@ static void sunsu_start_tx(struct uart_port *port) ...@@ -299,13 +299,10 @@ static void sunsu_start_tx(struct uart_port *port)
static void sunsu_stop_rx(struct uart_port *port) static void sunsu_stop_rx(struct uart_port *port)
{ {
struct uart_sunsu_port *up = (struct uart_sunsu_port *) port; struct uart_sunsu_port *up = (struct uart_sunsu_port *) port;
unsigned long flags;
spin_lock_irqsave(&up->port.lock, flags);
up->ier &= ~UART_IER_RLSI; up->ier &= ~UART_IER_RLSI;
up->port.read_status_mask &= ~UART_LSR_DR; up->port.read_status_mask &= ~UART_LSR_DR;
serial_out(up, UART_IER, up->ier); serial_out(up, UART_IER, up->ier);
spin_unlock_irqrestore(&up->port.lock, flags);
} }
static void sunsu_enable_ms(struct uart_port *port) static void sunsu_enable_ms(struct uart_port *port)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册