diff options
author | David S. Miller <davem@davemloft.net> | 2006-02-28 14:55:36 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-02-28 14:55:36 -0500 |
commit | 436002e3293472e4a7e47e5025999fc312794c4a (patch) | |
tree | 00194f9a7b662e5e067971fe2b9f7dff0b1fdee3 | |
parent | b9756c047ce6b60e3b96aa3c5db958acbdacedde (diff) |
[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: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/serial/sunsu.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index 308704566948..4e453fa966ae 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c | |||
@@ -299,13 +299,10 @@ static void sunsu_start_tx(struct uart_port *port) | |||
299 | static void sunsu_stop_rx(struct uart_port *port) | 299 | static void sunsu_stop_rx(struct uart_port *port) |
300 | { | 300 | { |
301 | struct uart_sunsu_port *up = (struct uart_sunsu_port *) port; | 301 | struct uart_sunsu_port *up = (struct uart_sunsu_port *) port; |
302 | unsigned long flags; | ||
303 | 302 | ||
304 | spin_lock_irqsave(&up->port.lock, flags); | ||
305 | up->ier &= ~UART_IER_RLSI; | 303 | up->ier &= ~UART_IER_RLSI; |
306 | up->port.read_status_mask &= ~UART_LSR_DR; | 304 | up->port.read_status_mask &= ~UART_LSR_DR; |
307 | serial_out(up, UART_IER, up->ier); | 305 | serial_out(up, UART_IER, up->ier); |
308 | spin_unlock_irqrestore(&up->port.lock, flags); | ||
309 | } | 306 | } |
310 | 307 | ||
311 | static void sunsu_enable_ms(struct uart_port *port) | 308 | static void sunsu_enable_ms(struct uart_port *port) |