[PATCH 5/5] 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.

Signed-off-by: Yinghai Lu <[EMAIL PROTECTED]>
Cc: Russell King <[EMAIL PROTECTED]>
Cc: Andi Kleen <[EMAIL PROTECTED]>
Signed-off-by: Bjorn Helgaas <[EMAIL PROTECTED]>

diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index 326020f..e5a3d8b 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -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)) {
+               /*
+                * We normally assert DTR when a port is opened, but serial
+                * console devices aren't actually opened, so do it here.
+                */
+               uart_set_mctrl(port, TIOCM_DTR);
                register_console(port->cons);
+       }
 
        /*
         * Ensure UPF_DEAD is not set.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to