diff options
-rw-r--r-- | ports/esp8266/modnetwork.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ports/esp8266/modnetwork.c b/ports/esp8266/modnetwork.c index 16401c939..6ef2d315d 100644 --- a/ports/esp8266/modnetwork.c +++ b/ports/esp8266/modnetwork.c @@ -89,6 +89,10 @@ STATIC mp_obj_t esp_active(size_t n_args, const mp_obj_t *args) { } error_check(wifi_set_opmode(mode), "Cannot update i/f status"); if (mode == NULL_MODE) { + // Wait for the interfaces to go down before forcing power management + while (wifi_get_opmode() != NULL_MODE) { + ets_loop_iter(); + } wifi_fpm_open(); wifi_fpm_do_sleep(0xfffffff); } |