aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunjie Wu <junjiew@codeaurora.org>2015-02-06 20:28:37 -0800
committerJohn Stultz <john.stultz@linaro.org>2015-11-19 12:38:01 -0800
commitadb627a7d642f61f6af233478979d27433a00785 (patch)
tree933b1a94307bc9c8a57057f800ddade71d7595e2
parent0e5795f79585d67139df0085f3e5c39645e2f4ff (diff)
cpufreq: interactive: Put global cpufreq kobject on failure
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>
-rw-r--r--drivers/cpufreq/cpufreq_interactive.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c
index 24fe0ce88e77..6b3facdf5ba2 100644
--- a/drivers/cpufreq/cpufreq_interactive.c
+++ b/drivers/cpufreq/cpufreq_interactive.c
@@ -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;
}