cpufreq: interactive: Put global cpufreq kobject on failure
authorJunjie Wu <junjiew@codeaurora.org>
Sat, 7 Feb 2015 04:28:37 +0000 (20:28 -0800)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:53:05 +0000 (13:53 -0800)
Fix failure recovery path in cpufreq_governor_interactive(). Call
cpufreq_put_global_kobject() to release cpufreq global kobject upon
governor init failure.

Change-Id: I7a977070b7a3c75c90acccd2c117064ed1a10d0e
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
drivers/cpufreq/cpufreq_interactive.c

index 24fe0ce88e7745575ac8a29797e4fb416ad9c2e0..6b3facdf5ba27f9729f61ecd8c1518459f888e77 100644 (file)
@@ -1185,8 +1185,10 @@ static int cpufreq_governor_interactive(struct cpufreq_policy *policy,
                if (rc) {
                        kfree(tunables);
                        policy->governor_data = NULL;
-                       if (!have_governor_per_policy())
+                       if (!have_governor_per_policy()) {
                                common_tunables = NULL;
+                               cpufreq_put_global_kobject();
+                       }
                        return rc;
                }