cpufreq: mediatek: fix KP caused by handler usage after regulator_put/clk_put
authorJia-Wei Chang <jia-wei.chang@mediatek.com>
Fri, 24 Mar 2023 10:11:28 +0000 (18:11 +0800)
committerViresh Kumar <viresh.kumar@linaro.org>
Thu, 30 Mar 2023 03:50:02 +0000 (09:20 +0530)
commitd51e106240bc755cbe59634b70d567c192b045b2
tree04627dac61ffb58678778e3c3f33b8fc717a352c
parentd51c63230994f167126d9d8381011b4cb2b0ad22
cpufreq: mediatek: fix KP caused by handler usage after regulator_put/clk_put

Any kind of failure in mtk_cpu_dvfs_info_init() will lead to calling
regulator_put() or clk_put() and the KP will occur since the regulator/clk
handlers are used after released in mtk_cpu_dvfs_info_release().

To prevent the usage after regulator_put()/clk_put(), the regulator/clk
handlers are addressed in a way of "Free the Last Thing Style".

Signed-off-by: Jia-Wei Chang <jia-wei.chang@mediatek.com>
Fixes: 4b9ceb757bbb ("cpufreq: mediatek: Enable clocks and regulators")
Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Suggested-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/mediatek-cpufreq.c