summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/esp8266/modnetwork.c4
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);
}