summaryrefslogtreecommitdiff
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorLukasz Majewski <l.majewski@samsung.com>2014-02-21 17:42:57 +0100
committerChanho Park <chanho61.park@samsung.com>2014-03-20 17:43:54 +0900
commit5ab7de18bb134aa4e51c6bb424bda407f4a9ea68 (patch)
tree62b371376a1736eae34798312fafe2736ba80185 /drivers/cpufreq
parentc1641a0823d8ac90e396e209a3a3b6ef0f1a80aa (diff)
downloadlinux-3.10-5ab7de18bb134aa4e51c6bb424bda407f4a9ea68.tar.gz
linux-3.10-5ab7de18bb134aa4e51c6bb424bda407f4a9ea68.tar.bz2
linux-3.10-5ab7de18bb134aa4e51c6bb424bda407f4a9ea68.zip
cpufreq: conservative: Provide correct pointer for conservative governor
This patch restores correct value of cs_dbs_info pointer for conservative governor at CPUFREQ_GOV_STOP event. Without this patch the NULL pointer dereference error shows up and cpufreq subsystem hangs. To trigger the behavior one needs to compile ondemand as default one. Then enable conservative governor and afterwards enable ondemand again. Change-Id: Iefd933f5984abb1a46d15357b9ea5f8492deeb08 Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/cpufreq_governor.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c
index dabb888c28f..a393e2adb31 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -409,9 +409,10 @@ int cpufreq_governor_dbs(struct cpufreq_policy *policy,
break;
case CPUFREQ_GOV_STOP:
- if (governor == GOV_CONSERVATIVE)
+ if (governor == GOV_CONSERVATIVE) {
+ cs_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
cs_dbs_info->enable = 0;
-
+ }
gov_cancel_work(dbs_data, policy);
mutex_lock(&dbs_data->mutex);