mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
[ACPI] fix reboot upon suspend-to-disk
http://bugzilla.kernel.org/show_bug.cgi?id=4320 Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Acked-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
7116317dc9
commit
729b4d4ce1
7 changed files with 26 additions and 35 deletions
25
kernel/sys.c
25
kernel/sys.c
|
@ -427,23 +427,25 @@ void kernel_kexec(void)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(kernel_kexec);
|
||||
|
||||
void kernel_shutdown_prepare(enum system_states state)
|
||||
{
|
||||
notifier_call_chain(&reboot_notifier_list,
|
||||
(state == SYSTEM_HALT)?SYS_HALT:SYS_POWER_OFF, NULL);
|
||||
system_state = state;
|
||||
device_shutdown();
|
||||
}
|
||||
/**
|
||||
* kernel_halt - halt the system
|
||||
*
|
||||
* Shutdown everything and perform a clean system halt.
|
||||
*/
|
||||
void kernel_halt_prepare(void)
|
||||
{
|
||||
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
|
||||
system_state = SYSTEM_HALT;
|
||||
device_shutdown();
|
||||
}
|
||||
void kernel_halt(void)
|
||||
{
|
||||
kernel_halt_prepare();
|
||||
kernel_shutdown_prepare(SYSTEM_HALT);
|
||||
printk(KERN_EMERG "System halted.\n");
|
||||
machine_halt();
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(kernel_halt);
|
||||
|
||||
/**
|
||||
|
@ -451,20 +453,13 @@ EXPORT_SYMBOL_GPL(kernel_halt);
|
|||
*
|
||||
* Shutdown everything and perform a clean system power_off.
|
||||
*/
|
||||
void kernel_power_off_prepare(void)
|
||||
{
|
||||
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
|
||||
system_state = SYSTEM_POWER_OFF;
|
||||
device_shutdown();
|
||||
}
|
||||
void kernel_power_off(void)
|
||||
{
|
||||
kernel_power_off_prepare();
|
||||
kernel_shutdown_prepare(SYSTEM_POWER_OFF);
|
||||
printk(KERN_EMERG "Power down.\n");
|
||||
machine_power_off();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kernel_power_off);
|
||||
|
||||
/*
|
||||
* Reboot system call: for obvious reasons only root may call it,
|
||||
* and even root needs to set up some magic numbers in the registers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue