|
@@ -657,7 +657,15 @@ static void
|
|
serial_txx9_pm(struct uart_port *port, unsigned int state,
|
|
serial_txx9_pm(struct uart_port *port, unsigned int state,
|
|
unsigned int oldstate)
|
|
unsigned int oldstate)
|
|
{
|
|
{
|
|
- if (state == 0)
|
|
|
|
|
|
+ /*
|
|
|
|
+ * If oldstate was -1 this is called from
|
|
|
|
+ * uart_configure_port(). In this case do not initialize the
|
|
|
|
+ * port now, because the port was already initialized (for
|
|
|
|
+ * non-console port) or should not be initialized here (for
|
|
|
|
+ * console port). If we initialized the port here we lose
|
|
|
|
+ * serial console settings.
|
|
|
|
+ */
|
|
|
|
+ if (state == 0 && oldstate != -1)
|
|
serial_txx9_initialize(port);
|
|
serial_txx9_initialize(port);
|
|
}
|
|
}
|
|
|
|
|