Messages in this thread | | | Date | Wed, 20 Sep 2017 10:07:55 -0700 | From | Viresh Kumar <> | Subject | Re: [PATCH] PM / OPP: Call notifier without holding opp_table->lock |
| |
On 20-09-17, 10:00, Stephen Boyd wrote: > On 09/20, Viresh Kumar wrote:
> > diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c > > index 4360b4efcd4c..668fd940d362 100644 > > --- a/drivers/base/power/opp/core.c > > +++ b/drivers/base/power/opp/core.c > > @@ -1627,6 +1627,9 @@ static int _opp_set_availability(struct device *dev, unsigned long freq, > > > > opp->available = availability_req; > > > > + dev_pm_opp_get(opp); > > + mutex_unlock(&opp_table->lock); > > Does this prevent the OPP from changing while the lock is > released?
No, its just ref counting and will only prevent it from getting freed.
There is only one thing that can change for an OPP though after it is created, its availability.
> That would be the only difference from before. It's > possible that nobody cares about this situation though.
I am not sure if its worth caring for right now :)
Also the notifier chain will not start again until the previous call chain is finished. So we are kind of synchronized here.
-- viresh
| |