cpufreq: tegra194: Fix an error handling path in tegra194_cpufreq_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Tue, 25 Apr 2023 13:11:19 +0000 (15:11 +0200)
committerViresh Kumar <viresh.kumar@linaro.org>
Thu, 11 May 2023 09:02:50 +0000 (14:32 +0530)
If the probe needs to be deferred, some resources still need to be
released. So branch to the error handling path instead of returning
directly.

Fixes: f41e1442ac5b ("cpufreq: tegra194: add OPP support and set bandwidth")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Sumit Gupta <sumitg@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/tegra194-cpufreq.c

index c8d0334..36dad5e 100644 (file)
@@ -686,8 +686,10 @@ static int tegra194_cpufreq_probe(struct platform_device *pdev)
 
        /* Check for optional OPPv2 and interconnect paths on CPU0 to enable ICC scaling */
        cpu_dev = get_cpu_device(0);
-       if (!cpu_dev)
-               return -EPROBE_DEFER;
+       if (!cpu_dev) {
+               err = -EPROBE_DEFER;
+               goto err_free_res;
+       }
 
        if (dev_pm_opp_of_get_opp_desc_node(cpu_dev)) {
                err = dev_pm_opp_of_find_icc_paths(cpu_dev, NULL);