cr3 |= USART_CR3_CTSE | USART_CR3_RTSE;
        }
 
-       /* Handle modem control interrupts */
-       if (UART_ENABLE_MS(port, termios->c_cflag))
-               stm32_usart_enable_ms(port);
-       else
-               stm32_usart_disable_ms(port);
-
        usartdiv = DIV_ROUND_CLOSEST(port->uartclk, baud);
 
        /*
 
        stm32_usart_set_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit));
        spin_unlock_irqrestore(&port->lock, flags);
+
+       /* Handle modem control interrupts */
+       if (UART_ENABLE_MS(port, termios->c_cflag))
+               stm32_usart_enable_ms(port);
+       else
+               stm32_usart_disable_ms(port);
 }
 
 static const char *stm32_usart_type(struct uart_port *port)