Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97d97224ff361e08777fb33e0fd193ca877dac28
Commit:     97d97224ff361e08777fb33e0fd193ca877dac28
Parent:     a06748ab546fa95c497f10c290221f4a9f249f9b
Author:     Russell King <[EMAIL PROTECTED]>
AuthorDate: Sat Sep 1 21:25:09 2007 +0100
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Mon Oct 15 18:53:35 2007 +0100

    [SERIAL] Fix console initialisation ordering
    
    Ensure pm callback is called upon initialisation to place port in
    correct power saving state.  Ensure console is initialised prior
    to deciding whether to power down the port.
    
    Signed-off-by: Russell King <[EMAIL PROTECTED]>
---
 drivers/serial/serial_core.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index a055f58..a3bd3a3 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2127,6 +2127,14 @@ uart_configure_port(struct uart_driver *drv, struct 
uart_state *state,
                spin_unlock_irqrestore(&port->lock, flags);
 
                /*
+                * If this driver supports console, and it hasn't been
+                * successfully registered yet, try to re-register it.
+                * It may be that the port was not available.
+                */
+               if (port->cons && !(port->cons->flags & CON_ENABLED))
+                       register_console(port->cons);
+
+               /*
                 * Power down all ports by default, except the
                 * console if we have one.
                 */
@@ -2286,6 +2294,7 @@ int uart_add_one_port(struct uart_driver *drv, struct 
uart_port *port)
        }
 
        state->port = port;
+       state->pm_state = -1;
 
        port->cons = drv->cons;
        port->info = state->info;
@@ -2308,15 +2317,6 @@ int uart_add_one_port(struct uart_driver *drv, struct 
uart_port *port)
        tty_register_device(drv->tty_driver, port->line, port->dev);
 
        /*
-        * If this driver supports console, and it hasn't been
-        * successfully registered yet, try to re-register it.
-        * It may be that the port was not available.
-        */
-       if (port->type != PORT_UNKNOWN &&
-           port->cons && !(port->cons->flags & CON_ENABLED))
-               register_console(port->cons);
-
-       /*
         * Ensure UPF_DEAD is not set.
         */
        port->flags &= ~UPF_DEAD;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to