esp8266/modnetwork: Wait for iface to go down before forcing power mgmt.
If the STA interface is connected to an AP then it must be fully
disconnected and deactivated before forcing the power management on.
@@ -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);
}
