diff mbox series

opp: of: drop incorrect lockdep_assert_held()

Message ID 6306e18beab9deff6ee6b32f489390908495fe14.1570703431.git.viresh.kumar@linaro.org
State Accepted
Commit f2edbb6699b0bc6e4f789846b99007200546c6c2
Headers show
Series opp: of: drop incorrect lockdep_assert_held() | expand

Commit Message

Viresh Kumar Oct. 10, 2019, 10:30 a.m. UTC
_find_opp_of_np() doesn't traverse the list of OPP tables but instead
just the entries within an OPP table and so only requires to lock the
OPP table itself.

The lockdep_assert_held() was added there by mistake and isn't really
required.

Fixes: 5d6d106fa455 ("OPP: Populate required opp tables from "required-opps" property")
Cc: v5.0+ <stable@vger.kernel.org> # v5.0+
Reported-by: Niklas Cassel <niklas.cassel@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
 drivers/opp/of.c | 2 --
 1 file changed, 2 deletions(-)

-- 
2.21.0.rc0.269.g1a574e7a288b

Comments

Niklas Cassel Oct. 23, 2019, 12:01 p.m. UTC | #1
On Wed, Oct 23, 2019 at 11:00:05AM +0530, Viresh Kumar wrote:
> On 10-10-19, 16:00, Viresh Kumar wrote:

> > _find_opp_of_np() doesn't traverse the list of OPP tables but instead

> > just the entries within an OPP table and so only requires to lock the

> > OPP table itself.

> > 

> > The lockdep_assert_held() was added there by mistake and isn't really

> > required.

> > 

> > Fixes: 5d6d106fa455 ("OPP: Populate required opp tables from "required-opps" property")

> > Cc: v5.0+ <stable@vger.kernel.org> # v5.0+

> > Reported-by: Niklas Cassel <niklas.cassel@linaro.org>

> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> > ---

> >  drivers/opp/of.c | 2 --

> >  1 file changed, 2 deletions(-)

> > 

> > diff --git a/drivers/opp/of.c b/drivers/opp/of.c

> > index 1813f5ad5fa2..6dc41faf74b5 100644

> > --- a/drivers/opp/of.c

> > +++ b/drivers/opp/of.c

> > @@ -77,8 +77,6 @@ static struct dev_pm_opp *_find_opp_of_np(struct opp_table *opp_table,

> >  {

> >  	struct dev_pm_opp *opp;

> >  

> > -	lockdep_assert_held(&opp_table_lock);

> > -

> >  	mutex_lock(&opp_table->lock);

> >  

> >  	list_for_each_entry(opp, &opp_table->opp_list, node) {

> 

> @Niklas, any inputs from your side  here would be appreciated :)


Tested-by: Niklas Cassel <niklas.cassel@linaro.org>


After this patch, there is still a single lockdep_assert_held()
left, inside _find_table_of_opp_np(), since you kept this,
I assume that that one is still needed?

Kind regards,
Niklas
Viresh Kumar Oct. 24, 2019, 2:56 a.m. UTC | #2
On 23-10-19, 14:01, Niklas Cassel wrote:
> On Wed, Oct 23, 2019 at 11:00:05AM +0530, Viresh Kumar wrote:

> > On 10-10-19, 16:00, Viresh Kumar wrote:

> > > _find_opp_of_np() doesn't traverse the list of OPP tables but instead

> > > just the entries within an OPP table and so only requires to lock the

> > > OPP table itself.

> > > 

> > > The lockdep_assert_held() was added there by mistake and isn't really

> > > required.

> > > 

> > > Fixes: 5d6d106fa455 ("OPP: Populate required opp tables from "required-opps" property")

> > > Cc: v5.0+ <stable@vger.kernel.org> # v5.0+

> > > Reported-by: Niklas Cassel <niklas.cassel@linaro.org>

> > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> > > ---

> > >  drivers/opp/of.c | 2 --

> > >  1 file changed, 2 deletions(-)

> > > 

> > > diff --git a/drivers/opp/of.c b/drivers/opp/of.c

> > > index 1813f5ad5fa2..6dc41faf74b5 100644

> > > --- a/drivers/opp/of.c

> > > +++ b/drivers/opp/of.c

> > > @@ -77,8 +77,6 @@ static struct dev_pm_opp *_find_opp_of_np(struct opp_table *opp_table,

> > >  {

> > >  	struct dev_pm_opp *opp;

> > >  

> > > -	lockdep_assert_held(&opp_table_lock);

> > > -

> > >  	mutex_lock(&opp_table->lock);

> > >  

> > >  	list_for_each_entry(opp, &opp_table->opp_list, node) {

> > 

> > @Niklas, any inputs from your side  here would be appreciated :)

> 

> Tested-by: Niklas Cassel <niklas.cassel@linaro.org>

> 

> After this patch, there is still a single lockdep_assert_held()

> left, inside _find_table_of_opp_np(), since you kept this,

> I assume that that one is still needed?


Yeah, that one is required as we are traversing the list of OPP tables
there.

-- 
viresh
diff mbox series

Patch

diff --git a/drivers/opp/of.c b/drivers/opp/of.c
index 1813f5ad5fa2..6dc41faf74b5 100644
--- a/drivers/opp/of.c
+++ b/drivers/opp/of.c
@@ -77,8 +77,6 @@  static struct dev_pm_opp *_find_opp_of_np(struct opp_table *opp_table,
 {
 	struct dev_pm_opp *opp;
 
-	lockdep_assert_held(&opp_table_lock);
-
 	mutex_lock(&opp_table->lock);
 
 	list_for_each_entry(opp, &opp_table->opp_list, node) {