From 79492689e40d4f4d3d8a7262781d56fb295b4b86 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Sun, 15 Jul 2007 23:37:25 -0700 Subject: 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: Yinghai Lu Acked-by: Russell King Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/serial/serial_core.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers') diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index 326020f86f75..9c57486c2e7f 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -1910,6 +1910,12 @@ uart_set_options(struct uart_port *port, struct console *co, if (flow == 'r') 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); co->cflag = termios.c_cflag; -- cgit v1.2.3