From: Shawn Guo Date: Wed, 2 Nov 2022 14:21:01 +0000 (+0800) Subject: PM: domains: Drop genpd status manipulation for hibernate restore X-Git-Tag: v6.2-rc1~189^2~2^4~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5616ce7b780af6103d7724f119514a6eb7b05f66;p=thirdparty%2Flinux.git PM: domains: Drop genpd status manipulation for hibernate restore The genpd status manipulation for hibernate restore has really never worked as intended. For example, if the genpd->status was GENPD_STATE_ON, the parent domain's `sd_count` must have been increased, so it needs to be adjusted too. So drop this status manipulation. Suggested-by: Ulf Hansson Signed-off-by: Shawn Guo Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 6471b559230e9..97deae1d4e77a 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -1374,20 +1374,7 @@ static int genpd_restore_noirq(struct device *dev) if (IS_ERR(genpd)) return -EINVAL; - /* - * At this point suspended_count == 0 means we are being run for the - * first time for the given domain in the present cycle. - */ genpd_lock(genpd); - if (genpd->suspended_count++ == 0) { - /* - * The boot kernel might put the domain into arbitrary state, - * so make it appear as powered off to genpd_sync_power_on(), - * so that it tries to power it on in case it was really off. - */ - genpd->status = GENPD_STATE_OFF; - } - genpd_sync_power_on(genpd, true, 0); genpd_unlock(genpd);