From: Hien Dang <[email protected]> Since commit '39dd0f234fc37d ("PM / Domains: Allow runtime PM during system PM phases")', runtime PM may be in suspended state during the system suspend phase. It is therefore necessary to call pm_runtime_get_sync()/ pm_runtime_put() when accessing the hardware.
This modification is the counterpart for the resume case. It ensures stability of the system, should the kernel allow the devices's runtime suspend state to change during the system resume phase as well. Signed-off-by: Hien Dang <[email protected]> Signed-off-by: Hiromitsu Yamasaki <[email protected]> [uli: edited description for clarity] Signed-off-by: Ulrich Hecht <[email protected]> --- drivers/tty/serial/sh-sci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 22d7a78..d5a1acb 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -3259,8 +3259,11 @@ static __maybe_unused int sci_resume(struct device *dev) { struct sci_port *sport = dev_get_drvdata(dev); - if (sport) + if (sport) { + pm_runtime_get_sync(sport->port.dev); uart_resume_port(&sci_uart_driver, &sport->port); + pm_runtime_put(sport->port.dev); + } return 0; } -- 2.7.4
