diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2010-10-27 04:16:50 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-11 14:06:08 -0500 |
commit | 5bb06b62bc445eed66fb256c3b5f86e5911797e4 (patch) | |
tree | 751fa5cd54bb8f4eb0684635b7ed1ac7f9ffbcf9 | |
parent | 6d9e44986891345636e2d6069c4ae1612b2337d4 (diff) |
serial: bfin_5xx: grab port lock before making port termios changes
The port lock exists to protect these resources, so we need to grab it
before making changes.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/serial/bfin_5xx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 965532157c65..19cac9f610fd 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c | |||
@@ -849,6 +849,8 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
849 | if (termios->c_cflag & CMSPAR) | 849 | if (termios->c_cflag & CMSPAR) |
850 | lcr |= STP; | 850 | lcr |= STP; |
851 | 851 | ||
852 | spin_lock_irqsave(&uart->port.lock, flags); | ||
853 | |||
852 | port->read_status_mask = OE; | 854 | port->read_status_mask = OE; |
853 | if (termios->c_iflag & INPCK) | 855 | if (termios->c_iflag & INPCK) |
854 | port->read_status_mask |= (FE | PE); | 856 | port->read_status_mask |= (FE | PE); |
@@ -878,8 +880,6 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
878 | if (termios->c_line != N_IRDA) | 880 | if (termios->c_line != N_IRDA) |
879 | quot -= ANOMALY_05000230; | 881 | quot -= ANOMALY_05000230; |
880 | 882 | ||
881 | spin_lock_irqsave(&uart->port.lock, flags); | ||
882 | |||
883 | UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15); | 883 | UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15); |
884 | 884 | ||
885 | /* Disable UART */ | 885 | /* Disable UART */ |