diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index c0c472ac5311..90621c3312bc 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -1334,8 +1334,9 @@ static inline void | |||
1334 | serial8250_handle_port(struct uart_8250_port *up) | 1334 | serial8250_handle_port(struct uart_8250_port *up) |
1335 | { | 1335 | { |
1336 | unsigned int status; | 1336 | unsigned int status; |
1337 | unsigned long flags; | ||
1337 | 1338 | ||
1338 | spin_lock(&up->port.lock); | 1339 | spin_lock_irqsave(&up->port.lock, flags); |
1339 | 1340 | ||
1340 | status = serial_inp(up, UART_LSR); | 1341 | status = serial_inp(up, UART_LSR); |
1341 | 1342 | ||
@@ -1347,7 +1348,7 @@ serial8250_handle_port(struct uart_8250_port *up) | |||
1347 | if (status & UART_LSR_THRE) | 1348 | if (status & UART_LSR_THRE) |
1348 | transmit_chars(up); | 1349 | transmit_chars(up); |
1349 | 1350 | ||
1350 | spin_unlock(&up->port.lock); | 1351 | spin_unlock_irqrestore(&up->port.lock, flags); |
1351 | } | 1352 | } |
1352 | 1353 | ||
1353 | /* | 1354 | /* |