aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2010-10-27 04:16:50 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-11 14:06:08 -0500
commit5bb06b62bc445eed66fb256c3b5f86e5911797e4 (patch)
tree751fa5cd54bb8f4eb0684635b7ed1ac7f9ffbcf9
parent6d9e44986891345636e2d6069c4ae1612b2337d4 (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.c4
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 */