Messages in this thread Patch in this message | | | Date | Mon, 29 Oct 2007 23:00:08 +0900 (JST) | Subject | [PATCH 2.6.24-rc1] serial: Fix serial_txx9 console initialization | From | Atsushi Nemoto <> |
| |
Since commit 97d97224ff361e08777fb33e0fd193ca877dac28, serial_core calls ->pm() on initialization even if the port was used for console. This behaviour breaks serial_txx9 console since The serial_txx9 driver initialize its port entirely on its ->pm() method if new state was 0. This patch adds checking for oldstate value to fix this probelm.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> --- diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c index 6846a6c..7ad2192 100644 --- a/drivers/serial/serial_txx9.c +++ b/drivers/serial/serial_txx9.c @@ -657,7 +657,15 @@ static void serial_txx9_pm(struct uart_port *port, unsigned int state, 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); }
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |