From 53eb605ccd784e315a78e01907759664ceb45fc0 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 19 May 2021 18:18:33 +0200 Subject: [PATCH] Revert "PM: runtime: Fix unpaired parent child_count for force_resume" This reverts commit 6c799f6c742718ca574d13d9b3d40592730f62c0 as it breaks the abi and is only needed for one specific platform that the Android gki kernel does not support. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: If66257249516678fe59b7854c925d9a58ac298ff --- drivers/base/power/runtime.c | 10 +++------- include/linux/pm.h | 1 - 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 8fbd376471de..94785083c018 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c @@ -1610,7 +1610,6 @@ void pm_runtime_init(struct device *dev) dev->power.request_pending = false; dev->power.request = RPM_REQ_NONE; dev->power.deferred_resume = false; - dev->power.needs_force_resume = 0; INIT_WORK(&dev->power.work, pm_runtime_work); dev->power.timer_expires = 0; @@ -1778,12 +1777,10 @@ int pm_runtime_force_suspend(struct device *dev) * its parent, but set its status to RPM_SUSPENDED anyway in case this * function will be called again for it in the meantime. */ - if (pm_runtime_need_not_resume(dev)) { + if (pm_runtime_need_not_resume(dev)) pm_runtime_set_suspended(dev); - } else { + else __update_runtime_status(dev, RPM_SUSPENDED); - dev->power.needs_force_resume = 1; - } return 0; @@ -1810,7 +1807,7 @@ int pm_runtime_force_resume(struct device *dev) int (*callback)(struct device *); int ret = 0; - if (!pm_runtime_status_suspended(dev) || !dev->power.needs_force_resume) + if (!pm_runtime_status_suspended(dev) || pm_runtime_need_not_resume(dev)) goto out; /* @@ -1829,7 +1826,6 @@ int pm_runtime_force_resume(struct device *dev) pm_runtime_mark_last_busy(dev); out: - dev->power.needs_force_resume = 0; pm_runtime_enable(dev); return ret; } diff --git a/include/linux/pm.h b/include/linux/pm.h index 792d0b7428c6..207c44e05bc3 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -617,7 +617,6 @@ struct dev_pm_info { unsigned int idle_notification:1; unsigned int request_pending:1; unsigned int deferred_resume:1; - unsigned int needs_force_resume:1; unsigned int runtime_auto:1; bool ignore_children:1; unsigned int no_callbacks:1;