Commit a3ab02b4 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pm-3.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:

 - System reboot/halt fix related to CPU offline ordering from Huacai
   Chen.

 - intel_pstate driver fix for a delay time computation error
   occasionally crashing systems using it from Dirk Brandewie.

* tag 'pm-3.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM / reboot: call syscore_shutdown() after disable_nonboot_cpus()
  cpufreq / intel_pstate: Set timer timeout correctly
parents 89a132ac 6f389a8f
...@@ -502,7 +502,6 @@ static inline void intel_pstate_set_sample_time(struct cpudata *cpu) ...@@ -502,7 +502,6 @@ static inline void intel_pstate_set_sample_time(struct cpudata *cpu)
sample_time = cpu->pstate_policy->sample_rate_ms; sample_time = cpu->pstate_policy->sample_rate_ms;
delay = msecs_to_jiffies(sample_time); delay = msecs_to_jiffies(sample_time);
delay -= jiffies % delay;
mod_timer_pinned(&cpu->timer, jiffies + delay); mod_timer_pinned(&cpu->timer, jiffies + delay);
} }
......
...@@ -324,7 +324,6 @@ void kernel_restart_prepare(char *cmd) ...@@ -324,7 +324,6 @@ void kernel_restart_prepare(char *cmd)
system_state = SYSTEM_RESTART; system_state = SYSTEM_RESTART;
usermodehelper_disable(); usermodehelper_disable();
device_shutdown(); device_shutdown();
syscore_shutdown();
} }
/** /**
...@@ -370,6 +369,7 @@ void kernel_restart(char *cmd) ...@@ -370,6 +369,7 @@ void kernel_restart(char *cmd)
{ {
kernel_restart_prepare(cmd); kernel_restart_prepare(cmd);
disable_nonboot_cpus(); disable_nonboot_cpus();
syscore_shutdown();
if (!cmd) if (!cmd)
printk(KERN_EMERG "Restarting system.\n"); printk(KERN_EMERG "Restarting system.\n");
else else
...@@ -395,6 +395,7 @@ static void kernel_shutdown_prepare(enum system_states state) ...@@ -395,6 +395,7 @@ static void kernel_shutdown_prepare(enum system_states state)
void kernel_halt(void) void kernel_halt(void)
{ {
kernel_shutdown_prepare(SYSTEM_HALT); kernel_shutdown_prepare(SYSTEM_HALT);
disable_nonboot_cpus();
syscore_shutdown(); syscore_shutdown();
printk(KERN_EMERG "System halted.\n"); printk(KERN_EMERG "System halted.\n");
kmsg_dump(KMSG_DUMP_HALT); kmsg_dump(KMSG_DUMP_HALT);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment