diff options
author | Viresh Kumar | 2018-09-11 11:14:34 +0530 |
---|---|---|
committer | Viresh Kumar | 2018-09-19 14:56:39 -0700 |
commit | 2fbb8670b4ff4454f1c0de510f788d737edc4b90 (patch) | |
tree | 17de0e50d6bb7a8926055506809f99407f9699d7 /drivers/opp | |
parent | 7876320f88802b22d4e2daf7eb027dd14175a0f8 (diff) |
OPP: Free OPP table properly on performance state irregularities
The OPP table was freed, but not the individual OPPs which is done from
_dev_pm_opp_remove_table(). Fix it by calling _dev_pm_opp_remove_table()
as well.
Cc: 4.18 <stable@vger.kernel.org> # v4.18
Fixes: 3ba98324e81a ("PM / OPP: Get performance state using genpd helper")
Tested-by: Niklas Cassel <niklas.cassel@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'drivers/opp')
-rw-r--r-- | drivers/opp/of.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/opp/of.c b/drivers/opp/of.c index 7af0ddec936b..20988c426650 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -425,6 +425,7 @@ static int _of_add_opp_table_v2(struct device *dev, struct device_node *opp_np) dev_err(dev, "Not all nodes have performance state set (%d: %d)\n", count, pstate_count); ret = -ENOENT; + _dev_pm_opp_remove_table(opp_table, dev, false); goto put_opp_table; } |