From: Viresh Kumar Date: Tue, 11 Sep 2018 05:44:34 +0000 (+0530) Subject: OPP: Free OPP table properly on performance state irregularities X-Git-Tag: rel_imx_4.19.35_1.1.0~8878 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=ed6fea0059e57b40331280333fd7c682e3f370a0;p=linux.git OPP: Free OPP table properly on performance state irregularities commit 2fbb8670b4ff4454f1c0de510f788d737edc4b90 upstream. 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 # v4.18 Fixes: 3ba98324e81a ("PM / OPP: Get performance state using genpd helper") Tested-by: Niklas Cassel Signed-off-by: Viresh Kumar Signed-off-by: Greg Kroah-Hartman --- 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; }