Skip to contentSkip to conversation

serial: set DTR in uart for kernel serial console

PATCH In review Yinghai Lu 1 participant 1 message May 30, 2007

lore
Share & tools
lore

Yinghai Lu

author
#0 lore raw

PATCH 5/5 serial: set DTR in uart for kernel serial console

[PATCH 5/5] serial: set DTR in uart for kernel serial console

Some UARTs on other side need host uart DTR is set, otherwise will not receive char from the host that kernel is runing during kernel boot stage.

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

Cc Russell King <[email protected]>
Cc Andi Kleen <[email protected]>
Cc Bjorn Helgaas <[email protected]>
drivers/serial/serial_core.c +7 -1
index 326020f..bec5eb5 100644
@@ -2303,8 +2303,14 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)
 	 * It may be that the port was not available.
 	 */
 	if (port->type != PORT_UNKNOWN &&
-	    port->cons && !(port->cons->flags & CON_ENABLED))
+	    port->cons && !(port->cons->flags & CON_ENABLED)) {
+		/*
+		 * some uarts on other side don't support no flow control.
+		 * So we set DTR in host uart to make them happy  --- YHLU
+		 */
+		port->mctrl |= TIOCM_DTR;
 		register_console(port->cons);
+	}
 
 	/*
 	 * Ensure UPF_DEAD is not set.