cpufreq: cpufreq-dt: Make unregister system monitor before free opp table

The system monitor may sill use regulator, clock and opp table before
unregister.

Change-Id: I8d5008808ba2b2290864b8c96121ba4c85fc09ac
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This commit is contained in:
Finley Xiao
2020-01-13 18:28:54 +08:00
committed by Tao Huang
parent 636f0111ce
commit 03846554ac

View File

@@ -358,6 +358,9 @@ static int cpufreq_exit(struct cpufreq_policy *policy)
#ifdef CONFIG_ARCH_ROCKCHIP
rockchip_cpufreq_suspend(policy);
rockchip_system_monitor_unregister(priv->mdev_info);
kfree(priv->mdevp);
priv->mdevp = NULL;
#endif
dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table);
if (priv->have_static_opps)
@@ -366,8 +369,6 @@ static int cpufreq_exit(struct cpufreq_policy *policy)
dev_pm_opp_put_regulators(priv->opp_table);
#ifdef CONFIG_ARCH_ROCKCHIP
rockchip_cpufreq_put_opp_info(priv->cpu_dev);
rockchip_system_monitor_unregister(priv->mdev_info);
kfree(priv->mdevp);
#endif
clk_put(policy->clk);
kfree(priv);