Messages in this thread | | | Date | Fri, 10 Dec 2021 17:30:45 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] PM: runtime: Add safety net to supplier device release |
| |
On Fri, Dec 10, 2021 at 05:10:13PM +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Because refcount_dec_not_one() returns true if the target refcount > becomes saturated, it is generally unsafe to use its return value as > a loop termination condition, but that is what happens when a device > link's supplier device is released during runtime PM suspend > operations and on device link removal. > > To address this, introduce pm_runtime_release_supplier() to be used > in the above cases which will check the supplier device's runtime > PM usage counter in addition to the refcount_dec_not_one() return > value, so the loop can be terminated in case the rpm_active refcount > value becomes invalid, and update the code in question to use it as > appropriate. > > This change is not expected to have any visible functional impact. > > Reported-by: Peter Zijlstra <peterz@infradead.org> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Thanks!
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
| |