uart_sanitize_serial_rs485(port, rs485);
        uart_set_rs485_termination(port, rs485);
  
 -      spin_lock_irqsave(&port->lock, flags);
++      uart_port_lock_irqsave(port, &flags);
        ret = port->rs485_config(port, NULL, rs485);
 -      spin_unlock_irqrestore(&port->lock, flags);
++      uart_port_unlock_irqrestore(port, flags);
        if (ret)
                memset(rs485, 0, sizeof(*rs485));
  
                        if (ret == 0) {
                                if (tty)
                                        uart_change_line_settings(tty, state, NULL);
 -                              spin_lock_irq(&uport->lock);
+                               uart_rs485_config(uport);
 +                              uart_port_lock_irq(uport);
                                if (!(uport->rs485.flags & SER_RS485_ENABLED))
                                        ops->set_mctrl(uport, uport->mctrl);
-                               else
-                                       uart_rs485_config(uport);
                                ops->start_tx(uport);
 -                              spin_unlock_irq(&uport->lock);
 +                              uart_port_unlock_irq(uport);
                                tty_port_set_initialized(port, true);
                        } else {
                                /*
                port->mctrl &= TIOCM_DTR;
                if (!(port->rs485.flags & SER_RS485_ENABLED))
                        port->ops->set_mctrl(port, port->mctrl);
-               else
-                       uart_rs485_config(port);
 -              spin_unlock_irqrestore(&port->lock, flags);
 +              uart_port_unlock_irqrestore(port, flags);
  
+               uart_rs485_config(port);
+ 
                /*
                 * If this driver supports console, and it hasn't been
                 * successfully registered yet, try to re-register it.