diff options
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
| -rw-r--r-- | drivers/cpufreq/cpufreq.c | 12 |
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; |
