Skip to content

Commit a6dfffa

Browse files
soc: nordic: nrf54h: disable IRQ before PM config
IRQs must be disabled before starting any procedures to prepare for low-power states. Signed-off-by: Adam Kondraciuk <[email protected]>
1 parent a70d6bd commit a6dfffa

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

soc/nordic/nrf54h/pm_s2ram.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,10 @@ int soc_s2ram_suspend(pm_s2ram_system_off_fn_t system_off)
111111
{
112112
int ret;
113113

114-
__disable_irq();
115114
nvic_suspend(&backup_data.nvic_context);
116115
mpu_suspend(&backup_data.mpu_context);
117116
ret = arch_pm_s2ram_suspend(system_off);
118117
if (ret < 0) {
119-
__enable_irq();
120118
return ret;
121119
}
122120

soc/nordic/nrf54h/power.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ static void s2ram_enter(void)
187187

188188
void pm_state_set(enum pm_state state, uint8_t substate_id)
189189
{
190+
__disable_irq();
190191
if (state == PM_STATE_SUSPEND_TO_IDLE) {
191192
s2idle_enter(substate_id);
192193
/* Resume here. */
@@ -202,6 +203,7 @@ void pm_state_set(enum pm_state state, uint8_t substate_id)
202203
else {
203204
k_cpu_idle();
204205
}
206+
__enable_irq();
205207
}
206208

207209
void pm_state_exit_post_ops(enum pm_state state, uint8_t substate_id)

0 commit comments

Comments
 (0)