diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-06-29 04:42:38 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-06-29 04:42:38 -0400 |
commit | c5f4644e6c8ba21666128603e4e92544d3cd740d (patch) | |
tree | 1a8b4c730ca575d4b1118af174b070764803fb2c /drivers/serial/8250.c | |
parent | a839688362e32f01608838516036697e30618b39 (diff) |
[PATCH] Serial: Adjust serial locking
This patch changes the way serial ports are locked when getting modem
status. This change is necessary because we will need to atomically
read the modem status and take action depending on the CTS status.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial/8250.c')
-rw-r--r-- | drivers/serial/8250.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 34e75bc8f4cc..b53b53bb1475 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -1376,13 +1376,10 @@ static unsigned int serial8250_tx_empty(struct uart_port *port) | |||
1376 | static unsigned int serial8250_get_mctrl(struct uart_port *port) | 1376 | static unsigned int serial8250_get_mctrl(struct uart_port *port) |
1377 | { | 1377 | { |
1378 | struct uart_8250_port *up = (struct uart_8250_port *)port; | 1378 | struct uart_8250_port *up = (struct uart_8250_port *)port; |
1379 | unsigned long flags; | ||
1380 | unsigned char status; | 1379 | unsigned char status; |
1381 | unsigned int ret; | 1380 | unsigned int ret; |
1382 | 1381 | ||
1383 | spin_lock_irqsave(&up->port.lock, flags); | ||
1384 | status = serial_in(up, UART_MSR); | 1382 | status = serial_in(up, UART_MSR); |
1385 | spin_unlock_irqrestore(&up->port.lock, flags); | ||
1386 | 1383 | ||
1387 | ret = 0; | 1384 | ret = 0; |
1388 | if (status & UART_MSR_DCD) | 1385 | if (status & UART_MSR_DCD) |