aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
-rw-r--r--drivers/cpufreq/cpufreq.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 9528bd577365..418522f88f73 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1484,6 +1484,18 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
1484 unsigned int event) 1484 unsigned int event)
1485{ 1485{
1486 int ret; 1486 int ret;
1487 struct cpufreq_governor *gov = CPUFREQ_PERFORMANCE_GOVERNOR;
1488
1489 if (policy->governor->max_transition_latency &&
1490 policy->cpuinfo.transition_latency >
1491 policy->governor->max_transition_latency) {
1492 printk(KERN_WARNING "%s governor failed, too long"
1493 " transition latency of HW, fallback"
1494 " to %s governor\n",
1495 policy->governor->name,
1496 gov->name);
1497 policy->governor = gov;
1498 }
1487 1499
1488 if (!try_module_get(policy->governor->owner)) 1500 if (!try_module_get(policy->governor->owner))
1489 return -EINVAL; 1501 return -EINVAL;