If the console suspend is disabled, mark the serial as on the wakeup path to keep its PM domain powered on. Suggested-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> Signed-off-by: Thomas Richard <thomas.richard@xxxxxxxxxxx> --- drivers/tty/serial/8250/8250_omap.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c index 88b58f44e4e9..6764fe2f9cad 100644 --- a/drivers/tty/serial/8250/8250_omap.c +++ b/drivers/tty/serial/8250/8250_omap.c @@ -1660,8 +1660,12 @@ static int omap8250_suspend(struct device *dev) if (!device_may_wakeup(dev)) priv->wer = 0; serial_out(up, UART_OMAP_WER, priv->wer); - if (uart_console(&up->port) && console_suspend_enabled) - err = pm_runtime_force_suspend(dev); + if (uart_console(&up->port)) { + if (console_suspend_enabled) + err = pm_runtime_force_suspend(dev); + else + device_set_wakeup_path(dev); + } flush_work(&priv->qos_work); return err; -- 2.39.5