mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
PM / hibernate: no kernel_power_off when pm_power_off NULL
Reboot logic in kernel/reboot will avoid calling kernel_power_off when pm_power_off is null, and instead uses kernel_halt. Change hibernate's power_down to follow the behavior in the reboot call. Calling the notifier twice (once for SYS_POWER_OFF and again for SYS_HALT) causes a panic during hibernation on Kirkwood Openblocks A6 board. Signed-off-by: Sebastian Capella <sebastian.capella@linaro.org> Reported-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Reviewed-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
4881f603d7
commit
2c730785d9
1 changed files with 4 additions and 2 deletions
|
@ -599,6 +599,7 @@ static void power_down(void)
|
||||||
case HIBERNATION_PLATFORM:
|
case HIBERNATION_PLATFORM:
|
||||||
hibernation_platform_enter();
|
hibernation_platform_enter();
|
||||||
case HIBERNATION_SHUTDOWN:
|
case HIBERNATION_SHUTDOWN:
|
||||||
|
if (pm_power_off)
|
||||||
kernel_power_off();
|
kernel_power_off();
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_SUSPEND
|
#ifdef CONFIG_SUSPEND
|
||||||
|
@ -627,7 +628,8 @@ static void power_down(void)
|
||||||
* corruption after resume.
|
* corruption after resume.
|
||||||
*/
|
*/
|
||||||
printk(KERN_CRIT "PM: Please power down manually\n");
|
printk(KERN_CRIT "PM: Please power down manually\n");
|
||||||
while(1);
|
while (1)
|
||||||
|
cpu_relax();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue