Message ID | 20240803063748.325133-1-cuigaosheng1@huawei.com |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | [-next] PM / devfreq: tegra30: Add missing clk_disable_unprepare in devm_tegra_devfreq_init_hw | expand |
On Sat, Aug 03, 2024 at 02:37:48PM GMT, Gaosheng Cui wrote: > Add the missing clk_disable_unprepare() before return in > devm_tegra_devfreq_init_hw(). > > Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> > --- > drivers/devfreq/tegra30-devfreq.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Acked-by: Thierry Reding <treding@nvidia.com>
29.08.2024 17:54, Thierry Reding пишет: > On Sat, Aug 03, 2024 at 02:37:48PM GMT, Gaosheng Cui wrote: >> Add the missing clk_disable_unprepare() before return in >> devm_tegra_devfreq_init_hw(). >> >> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> >> --- >> drivers/devfreq/tegra30-devfreq.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) > > Acked-by: Thierry Reding <treding@nvidia.com> devm_tegra_devfreq_deinit_hw() is invoked when devm_add_action_or_reset() fails, disabling the clock. There is no missing clk_disable_unprepare(). Patch is wrong :)
diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c index 4a4f0106ab9d..c19f8848d217 100644 --- a/drivers/devfreq/tegra30-devfreq.c +++ b/drivers/devfreq/tegra30-devfreq.c @@ -809,12 +809,15 @@ static int devm_tegra_devfreq_init_hw(struct device *dev, err = devm_add_action_or_reset(dev, devm_tegra_devfreq_deinit_hw, tegra); - if (err) + if (err) { + clk_disable_unprepare(tegra->clock); return err; + } err = reset_control_reset(tegra->reset); if (err) { dev_err(dev, "Failed to reset hardware: %d\n", err); + clk_disable_unprepare(tegra->clock); return err; }
Add the missing clk_disable_unprepare() before return in devm_tegra_devfreq_init_hw(). Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> --- drivers/devfreq/tegra30-devfreq.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)