提交 79492689 编写于 作者: Y Yinghai Lu 提交者: Linus Torvalds

serial: assert DTR for serial console devices

Some RS-232 devices require DTR to be asserted before they can be used.  DTR
is normally asserted in uart_startup() when the port is opened.  But we don't
actually open serial console ports, so assert DTR when the port is added.

BTW:
earlyprintk and early_uart are hard coded to set DTR/RTS.

rmk says

  The only issue I can think of is the possibility for an attached modem to
  auto-answer or maybe even auto-dial before the system is ready for it to do
  so.  Might have an undesirable cost implication for some running with such a
  setup.

  Apart from that, I can't think of any other side effect of this specific
  patch.
Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
Acked-by: NRussell King <rmk@arm.linux.org.uk>
Cc: Andi Kleen <ak@suse.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 23936cc0
...@@ -1910,6 +1910,12 @@ uart_set_options(struct uart_port *port, struct console *co, ...@@ -1910,6 +1910,12 @@ uart_set_options(struct uart_port *port, struct console *co,
if (flow == 'r') if (flow == 'r')
termios.c_cflag |= CRTSCTS; termios.c_cflag |= CRTSCTS;
/*
* some uarts on other side don't support no flow control.
* So we set * DTR in host uart to make them happy
*/
port->mctrl |= TIOCM_DTR;
port->ops->set_termios(port, &termios, NULL); port->ops->set_termios(port, &termios, NULL);
co->cflag = termios.c_cflag; co->cflag = termios.c_cflag;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册