Commit 5fb7e241 authored by Philippe Gerum's avatar Philippe Gerum

PM / hibernate: ipipe: protect against out-of-band interrupts

We must not allow out-of-band activity to resume while we are busy
suspending the devices in the system, until the PM sleep state has
been fully entered.

Pair existing virtual IRQ disabling calls which only apply to the root
domain with hard ones.
parent b7c424c4
......@@ -286,6 +286,7 @@ static int create_image(int platform_mode)
goto Enable_cpus;
local_irq_disable();
hard_cond_local_irq_disable();
system_state = SYSTEM_SUSPEND;
......@@ -449,6 +450,7 @@ static int resume_target_kernel(bool platform_mode)
local_irq_disable();
system_state = SYSTEM_SUSPEND;
hard_cond_local_irq_disable();
error = syscore_suspend();
if (error)
......@@ -570,6 +572,7 @@ int hibernation_platform_enter(void)
local_irq_disable();
system_state = SYSTEM_SUSPEND;
hard_cond_local_irq_disable();
syscore_suspend();
if (pm_wakeup_pending()) {
error = -EAGAIN;
......
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