aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/8250.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/8250.c')
-rw-r--r--drivers/serial/8250.c5
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
1334serial8250_handle_port(struct uart_8250_port *up) 1334serial8250_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/*