@@ -171,8 +171,11 @@ int system_sleep_impl(Spark_Sleep_TypeDef sleepMode, long seconds, uint32_t para
171171 RESET_REASON_NONE, seconds);
172172 }
173173
174+ bool networkTurnedOff = false ;
175+
174176 if (network_sleep_flag (param) || SLEEP_MODE_WLAN == sleepMode) {
175177 network_suspend ();
178+ networkTurnedOff = true ;
176179 }
177180
178181 switch (sleepMode)
@@ -193,17 +196,14 @@ int system_sleep_impl(Spark_Sleep_TypeDef sleepMode, long seconds, uint32_t para
193196 break ;
194197
195198 case SLEEP_MODE_DEEP:
196- if (network_sleep_flag (param))
197- {
198- network_disconnect (0 , NETWORK_DISCONNECT_REASON_SLEEP, NULL );
199- network_off (0 , 0 , 0 , NULL );
200- }
201199 return system_sleep_enter_standby_compat (seconds, param);
202200
203201#if HAL_PLATFORM_SETUP_BUTTON_UX
204202 case SLEEP_MODE_SOFTPOWEROFF:
205- network_disconnect (0 , NETWORK_DISCONNECT_REASON_SLEEP, NULL );
206- network_off (0 , 0 , 0 , NULL );
203+ if (!networkTurnedOff) {
204+ network_disconnect (0 , NETWORK_DISCONNECT_REASON_SLEEP, NULL );
205+ network_off (0 , 0 , 0 , NULL );
206+ }
207207 return system_sleep_enter_standby_compat (seconds, param);
208208#endif
209209 }
0 commit comments