drivers/base/power/runtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Since pm_runtime_force_resume() requires pm_runtime_force_suspend() to
be called before it on the same device, the runtime PM status of the
device is RPM_SUSPENDED when it is called unless the device's runtime
PM status is changed somewhere else in the meantime.
However, even if that happens, the power.needs_force_resume
check is still required to pass and that flag is only set by
pm_runtime_force_suspend() once and it is cleared at the end of
pm_runtime_force_resume(), so it cannot be taken into account
twice in a row.
According to the above, the pm_runtime_status_suspended(dev) check in
pm_runtime_force_resume() is redundant, so drop it.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
The previous version of this patch is here:
https://lore.kernel.org/linux-pm/6038511.MhkbZ0Pkbq@rjwysocki.net/
v1 -> v2: Minor changelog edits.
---
drivers/base/power/runtime.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1982,7 +1982,7 @@
int (*callback)(struct device *);
int ret = 0;
- if (!pm_runtime_status_suspended(dev) || !dev->power.needs_force_resume)
+ if (!dev->power.needs_force_resume)
goto out;
/*
On Thu, 27 Feb 2025 at 11:56, Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Since pm_runtime_force_resume() requires pm_runtime_force_suspend() to > be called before it on the same device, the runtime PM status of the > device is RPM_SUSPENDED when it is called unless the device's runtime > PM status is changed somewhere else in the meantime. > > However, even if that happens, the power.needs_force_resume > check is still required to pass and that flag is only set by > pm_runtime_force_suspend() once and it is cleared at the end of > pm_runtime_force_resume(), so it cannot be taken into account > twice in a row. > > According to the above, the pm_runtime_status_suspended(dev) check in > pm_runtime_force_resume() is redundant, so drop it. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Seems reasonable to me! Please add: Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Kind regards Uffe > --- > > The previous version of this patch is here: > > https://lore.kernel.org/linux-pm/6038511.MhkbZ0Pkbq@rjwysocki.net/ > > v1 -> v2: Minor changelog edits. > > --- > drivers/base/power/runtime.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/drivers/base/power/runtime.c > +++ b/drivers/base/power/runtime.c > @@ -1982,7 +1982,7 @@ > int (*callback)(struct device *); > int ret = 0; > > - if (!pm_runtime_status_suspended(dev) || !dev->power.needs_force_resume) > + if (!dev->power.needs_force_resume) > goto out; > > /* > > >
© 2016 - 2025 Red Hat, Inc.