Three UART drivers (8250, atmel & amba-pl010) directly call their
enable_ms() method; the uart port lock must be acquired before
any h/w programming.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 {
        if (termios->c_line == N_PPS) {
                port->flags |= UPF_HARDPPS_CD;
+               spin_lock_irq(&port->lock);
                serial8250_enable_ms(port);
+               spin_unlock_irq(&port->lock);
        } else
                port->flags &= ~UPF_HARDPPS_CD;
 }
 
 {
        if (termios->c_line == N_PPS) {
                port->flags |= UPF_HARDPPS_CD;
+               spin_lock_irq(&port->lock);
                pl010_enable_ms(port);
+               spin_unlock_irq(&port->lock);
        } else
                port->flags &= ~UPF_HARDPPS_CD;
 }
 
 {
        if (termios->c_line == N_PPS) {
                port->flags |= UPF_HARDPPS_CD;
+               spin_lock_irq(&port->lock);
                atmel_enable_ms(port);
+               spin_unlock_irq(&port->lock);
        } else {
                port->flags &= ~UPF_HARDPPS_CD;
        }