aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2014-03-24 03:00:29 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-03-26 11:37:18 -0400
commit0c5aa405a9437d97e09ec289d4f29bb62e0f01b6 (patch)
treedb7b06fdeb9b72aeb606cc0b88f729c5a432b094 /drivers
parentbb18008f8086283f8f03e8e50fbbf17f213b9ea9 (diff)
cpufreq: resume drivers before enabling governors
During suspend, we first stop governors and then suspend cpufreq drivers and resume must be exactly opposite of that. i.e. resume drivers first and then start governors. But the current code in resume enables governors first and then resume drivers. Fix it be changing code sequence there. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/cpufreq/cpufreq.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 3aa7a7a226b3..d8d6bc9d1815 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1652,14 +1652,13 @@ void cpufreq_resume(void)
1652 cpufreq_suspended = false; 1652 cpufreq_suspended = false;
1653 1653
1654 list_for_each_entry(policy, &cpufreq_policy_list, policy_list) { 1654 list_for_each_entry(policy, &cpufreq_policy_list, policy_list) {
1655 if (__cpufreq_governor(policy, CPUFREQ_GOV_START) 1655 if (cpufreq_driver->resume && cpufreq_driver->resume(policy))
1656 pr_err("%s: Failed to resume driver: %p\n", __func__,
1657 policy);
1658 else if (__cpufreq_governor(policy, CPUFREQ_GOV_START)
1656 || __cpufreq_governor(policy, CPUFREQ_GOV_LIMITS)) 1659 || __cpufreq_governor(policy, CPUFREQ_GOV_LIMITS))
1657 pr_err("%s: Failed to start governor for policy: %p\n", 1660 pr_err("%s: Failed to start governor for policy: %p\n",
1658 __func__, policy); 1661 __func__, policy);
1659 else if (cpufreq_driver->resume
1660 && cpufreq_driver->resume(policy))
1661 pr_err("%s: Failed to resume driver: %p\n", __func__,
1662 policy);
1663 1662
1664 /* 1663 /*
1665 * schedule call cpufreq_update_policy() for boot CPU, i.e. last 1664 * schedule call cpufreq_update_policy() for boot CPU, i.e. last