From: Yinghai Lu with reverting "x86, serial: convert legacy COM ports to platform devices", we will have the serial console before the port is probled again. uart_add_one_port==>uart_configure_port==>set_mcttrl(port, 0) will clear the DTR setting by uart_set_options(). then I will lose my output from serial console again. So try to keep DTR in uart_configure_port() Signed-off-by: Yinghai Lu Cc: Russell King Cc: Alan Cox Cc: Andi Kleen Cc: Bjorn Helgaas Signed-off-by: Andrew Morton --- drivers/serial/serial_core.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/serial/serial_core.c~serial-keep-the-dtr-setting-for-serial-console drivers/serial/serial_core.c --- a/drivers/serial/serial_core.c~serial-keep-the-dtr-setting-for-serial-console +++ a/drivers/serial/serial_core.c @@ -2120,10 +2120,11 @@ uart_configure_port(struct uart_driver * /* * Ensure that the modem control lines are de-activated. + * keep the DTR setting that is set in uart_set_options() * We probably don't need a spinlock around this, but */ spin_lock_irqsave(&port->lock, flags); - port->ops->set_mctrl(port, 0); + port->ops->set_mctrl(port, port->mctrl & TIOCM_DTR); spin_unlock_irqrestore(&port->lock, flags); /* _