Add loop to prevent return from machine_power_off if pm_power_off is null or does not halt the system. This caused a panic during hibernation testing on Kirkwood Openblocks A6 board.
Signed-off-by: Sebastian Capella sebastian.capella@linaro.org Reported-by: Ezequiel Garcia ezequiel.garcia@free-electrons.com Cc: Len Brown len.brown@intel.com Cc: Pavel Machek pavel@ucw.cz Cc: "Rafael J. Wysocki" rjw@rjwysocki.net --- arch/arm/kernel/process.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index f58b723..6ffdc2c 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -217,6 +217,8 @@ void machine_power_off(void)
if (pm_power_off) pm_power_off(); + while (1) + cpu_relax(); }
/*