Re: [PATCH] opp: Increase parsed_static_opps on _of_add_opp_table_v1

From: Walter Lozano
Date: Thu Jul 16 2020 - 08:57:49 EST


Hi Viresh,

On 16/7/20 00:22, Viresh Kumar wrote:
On 15-07-20, 23:54, Walter Lozano wrote:
Currently, when using _of_add_opp_table_v2 parsed_static_opps is
increased and this value is used on _opp_remove_all_static to
check if there are static opps entries that need to be freed.
Unfortunately this does not happens when using _of_add_opp_table_v1,
which leads to warnings.

This patch increases parsed_static_opps on _of_add_opp_table_v1 in a
similar way as in _of_add_opp_table_v2.

Signed-off-by: Walter Lozano <walter.lozano@xxxxxxxxxxxxx>
---

drivers/opp/of.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/opp/of.c b/drivers/opp/of.c
index 9a5873591a40..b2bc82bf8b42 100644
--- a/drivers/opp/of.c
+++ b/drivers/opp/of.c
@@ -917,6 +917,8 @@ static int _of_add_opp_table_v1(struct device *dev, struct opp_table *opp_table)
nr -= 2;
}
+ opp_table->parsed_static_opps++;
+
return ret;
}
Merged with this and added relevant Fixes and stable tags.


Thanks for apply the proper fix.



diff --git a/drivers/opp/of.c b/drivers/opp/of.c
index b2bc82bf8b42..314f306140a1 100644
--- a/drivers/opp/of.c
+++ b/drivers/opp/of.c
@@ -902,6 +902,10 @@ static int _of_add_opp_table_v1(struct device *dev, struct opp_table *opp_table)
return -EINVAL;
}
+ mutex_lock(&opp_table->lock);
+ opp_table->parsed_static_opps = 1;
+ mutex_unlock(&opp_table->lock);
+
val = prop->value;
while (nr) {
unsigned long freq = be32_to_cpup(val++) * 1000;
@@ -917,8 +921,6 @@ static int _of_add_opp_table_v1(struct device *dev, struct opp_table *opp_table)
nr -= 2;
}
- opp_table->parsed_static_opps++;
-
return ret;
}