serial/core: Initialize the console pm state
authorSudhir Sreedharan <ssreedharan@mvista.com>
Mon, 22 Sep 2014 06:30:22 +0000 (12:00 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Sep 2014 01:49:48 +0000 (21:49 -0400)
For console devices having UART_CAP_SLEEP capability, the uart_pm_state has
to be initialized to UART_PM_STATE_ON. Otherwise the LCR regiser values
are reinitialized when uart_change_pm is called from uart_configure_port.

Signed-off-by: Sudhir Sreedharan <ssreedharan@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_core.c

index df3a8c74358e45644765da1593d19ffd44d6664a..e7d9d65095dad7ebd66d2e04748769c0fe12e31c 100644 (file)
@@ -2606,6 +2606,9 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport)
        if (uport->cons && uport->dev)
                of_console_check(uport->dev->of_node, uport->cons->name, uport->line);
 
+       if (uart_console(uport))
+               state->pm_state = UART_PM_STATE_ON;
+
        uart_configure_port(drv, state, uport);
 
        num_groups = 2;