cpufreq: ti: Fix 'of_node_put' being called twice in error handling path
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>
Sat, 19 Aug 2017 20:22:46 +0000 (22:22 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 24 Aug 2017 23:43:07 +0000 (01:43 +0200)
If 'dev_pm_opp_set_supported_hw()' fails, 'opp_data->opp_node' refcount
will be decremented 2 times.
One, just a few lines above, and another one in the error handling path.

Fix it by simply moving the 'of_node_put' call of the normal path.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/ti-cpufreq.c

index a7b5658c04609dc57d66a4049af55a25e157ee02..b29cd339846302402dcee8333765ad670555a2b3 100644 (file)
@@ -245,8 +245,6 @@ static int ti_cpufreq_init(void)
        if (ret)
                goto fail_put_node;
 
-       of_node_put(opp_data->opp_node);
-
        ret = PTR_ERR_OR_ZERO(dev_pm_opp_set_supported_hw(opp_data->cpu_dev,
                                                          version, VERSION_COUNT));
        if (ret) {
@@ -255,6 +253,8 @@ static int ti_cpufreq_init(void)
                goto fail_put_node;
        }
 
+       of_node_put(opp_data->opp_node);
+
 register_cpufreq_dt:
        platform_device_register_simple("cpufreq-dt", -1, NULL, 0);