Hack uart_suspend_port() and uart_resume_port() so that serial console ports are not suspended if CONFIG_DISABLE_CONSOLE_SUSPEND is set. This makes it possible to debug the suspend and resume routines of all device drivers as well as the lowest-level swsusp code with the help of the serial console. Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> --- drivers/serial/serial_core.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+) Index: linux-2.6.18-rc4-mm3/drivers/serial/serial_core.c =================================================================== --- linux-2.6.18-rc4-mm3.orig/drivers/serial/serial_core.c +++ linux-2.6.18-rc4-mm3/drivers/serial/serial_core.c @@ -1930,6 +1930,13 @@ int uart_suspend_port(struct uart_driver mutex_lock(&state->mutex); +#ifdef CONFIG_DISABLE_CONSOLE_SUSPEND + if (uart_console(port)) { + mutex_unlock(&state->mutex); + return 0; + } +#endif + if (state->info && state->info->flags & UIF_INITIALIZED) { const struct uart_ops *ops = port->ops; @@ -1968,6 +1975,13 @@ int uart_resume_port(struct uart_driver mutex_lock(&state->mutex); +#ifdef CONFIG_DISABLE_CONSOLE_SUSPEND + if (uart_console(port)) { + mutex_unlock(&state->mutex); + return 0; + } +#endif + uart_change_pm(state, 0); /* - To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html