diff options
-rw-r--r-- | drivers/tty/serial/8250/8250_port.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c index 48c30e158cb8..0f85a2f292fc 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -2216,15 +2216,8 @@ static void serial8250_THRE_test(struct uart_port *port) up->bugs |= UART_BUG_THRE; } -static void serial8250_initialize(struct uart_port *port) +static void serial8250_init_mctrl(struct uart_port *port) { - struct uart_8250_port *up = up_to_u8250p(port); - unsigned long flags; - bool lsr_TEMT, iir_NOINT; - - serial_port_out(port, UART_LCR, UART_LCR_WLEN8); - - uart_port_lock_irqsave(port, &flags); if (port->flags & UPF_FOURPORT) { if (!port->irq) port->mctrl |= TIOCM_OUT1; @@ -2235,6 +2228,18 @@ static void serial8250_initialize(struct uart_port *port) } serial8250_set_mctrl(port, port->mctrl); +} + +static void serial8250_initialize(struct uart_port *port) +{ + struct uart_8250_port *up = up_to_u8250p(port); + unsigned long flags; + bool lsr_TEMT, iir_NOINT; + + serial_port_out(port, UART_LCR, UART_LCR_WLEN8); + + uart_port_lock_irqsave(port, &flags); + serial8250_init_mctrl(port); /* * Serial over Lan (SoL) hack: |