summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-05-25 18:29:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-25 18:29:21 -0400
commit877c057d2b3cdac9f44c0fbe48e4208375395bf0 (patch)
treed9be4f9087e5717cb58b547b502d4d0a74f81c5a /drivers/base
parentecc5fbd5ef472a4c659dc56a5739b3f041c0530c (diff)
parent4c2628cd7580bc4f4a4994925cf366185ecc37a5 (diff)
Merge tag 'pm-4.7-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more power management updates from Rafael Wysocki: "These are two stable-candidate fixes (PM core, cpuidle) and a bunch of cpufreq cleanups. Specifics: - Stable-candidate cpuidle fix to make it check the right variable when deciding whether or not to enable interrupts on the local CPU so as to avoid enabling iterrupts too early in some cases if the system has both coupled and per-core idle states (Daniel Lezcano). - Stable-candidate PM core fix to make it handle failures at the "late suspend" stage of device suspend consistently for all devices regardless of whether or not async suspend/resume is enabled for them (Rafael Wysocki). - Cleanups in the cpufreq core, the schedutil governor and the intel_pstate driver (Rafael Wysocki, Pankaj Gupta, Viresh Kumar)" * tag 'pm-4.7-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PM / sleep: Handle failures in device_suspend_late() consistently cpufreq: schedutil: Improve prints messages with pr_fmt cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter() cpufreq: simplified goto out in cpufreq_register_driver() cpufreq: governor: CPUFREQ_GOV_STOP never fails cpufreq: governor: CPUFREQ_GOV_POLICY_EXIT never fails intel_pstate: Simplify conditional in intel_pstate_set_policy()
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index c81667d4bb60..e44944f4be77 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1267,14 +1267,15 @@ int dpm_suspend_late(pm_message_t state)
1267 error = device_suspend_late(dev); 1267 error = device_suspend_late(dev);
1268 1268
1269 mutex_lock(&dpm_list_mtx); 1269 mutex_lock(&dpm_list_mtx);
1270 if (!list_empty(&dev->power.entry))
1271 list_move(&dev->power.entry, &dpm_late_early_list);
1272
1270 if (error) { 1273 if (error) {
1271 pm_dev_err(dev, state, " late", error); 1274 pm_dev_err(dev, state, " late", error);
1272 dpm_save_failed_dev(dev_name(dev)); 1275 dpm_save_failed_dev(dev_name(dev));
1273 put_device(dev); 1276 put_device(dev);
1274 break; 1277 break;
1275 } 1278 }
1276 if (!list_empty(&dev->power.entry))
1277 list_move(&dev->power.entry, &dpm_late_early_list);
1278 put_device(dev); 1279 put_device(dev);
1279 1280
1280 if (async_error) 1281 if (async_error)