| From | Greg Kroah-Hartman <> | Subject | [PATCH 5.7 205/244] opp: Increase parsed_static_opps in _of_add_opp_table_v1() | Date | Mon, 20 Jul 2020 17:37:56 +0200 |
| |
From: Walter Lozano <walter.lozano@collabora.com>
commit 6544abc520f0fff701e9da382110dc29676c683a upstream.
Currently, when using _of_add_opp_table_v2 parsed_static_opps is increased and this value is used in _opp_remove_all_static() to check if there are static opp entries that need to be freed. Unfortunately this does not happen when using _of_add_opp_table_v1(), which leads to warnings.
This patch increases parsed_static_opps in _of_add_opp_table_v1() in a similar way as in _of_add_opp_table_v2().
Fixes: 03758d60265c ("opp: Replace list_kref with a local counter") Cc: v5.6+ <stable@vger.kernel.org> # v5.6+ Signed-off-by: Walter Lozano <walter.lozano@collabora.com> [ Viresh: Do the operation with lock held and set the value to 1 instead of incrementing it ] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/opp/of.c | 4 ++++ 1 file changed, 4 insertions(+)
--- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -733,6 +733,10 @@ static int _of_add_opp_table_v1(struct d 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;
|