21.02.2020 18:16, Daniel Lezcano пишет: > On Thu, Feb 13, 2020 at 02:51:22AM +0300, Dmitry Osipenko wrote: >> Technically cpu_suspend() may fail and it's never good to lose information >> about failure. For example things like cpuidle core could correctly sample >> idling time in the case of failure. >> >> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> >> Tested-by: Peter Geis <pgwipeout@xxxxxxxxx> >> Tested-by: Jasper Korten <jja2000@xxxxxxxxx> >> Tested-by: David Heidelberg <david@xxxxxxx> >> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >> --- > > [ ... ] > >> cpu_cluster_pm_enter(); >> suspend_cpu_complex(); >> >> - cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); >> + err = cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); >> >> /* >> * Resume L2 cache if it wasn't re-enabled early during resume, >> @@ -208,6 +210,8 @@ void tegra_idle_lp2_last(void) >> >> restore_cpu_complex(); > > If the cpu_suspend fails, does restore_cpu_complex() need to be called ? Yes, because suspend_cpu_complex() didn't fail. I don't see any reason why restore_cpu_complex() shouldn't be called, please clarify yours thought.