File tree Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -111,18 +111,16 @@ 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 ();
118+ /* On resuming or error we return exactly *HERE* */
120119 return ret ;
121120 }
122121
123122 mpu_resume (& backup_data .mpu_context );
124123 nvic_resume (& backup_data .nvic_context );
125- __enable_irq ();
126124
127125 return ret ;
128126}
Original file line number Diff line number Diff line change @@ -188,15 +188,19 @@ static void s2ram_enter(void)
188188void pm_state_set (enum pm_state state , uint8_t substate_id )
189189{
190190 if (state == PM_STATE_SUSPEND_TO_IDLE ) {
191+ __disable_irq ();
191192 s2idle_enter (substate_id );
192193 /* Resume here. */
193194 s2idle_exit (substate_id );
195+ __enable_irq ();
194196 }
195197#if defined(CONFIG_PM_S2RAM )
196198 else if (state == PM_STATE_SUSPEND_TO_RAM ) {
199+ __disable_irq ();
197200 s2ram_enter ();
198- /* On resuming or error we return exactly *HERE* */
201+ /* Resume here. */
199202 s2ram_exit ();
203+ __enable_irq ();
200204 }
201205#endif
202206 else {
You can’t perform that action at this time.
0 commit comments