diff options
Diffstat (limited to 'extmod/network_cyw43.c')
-rw-r--r-- | extmod/network_cyw43.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/extmod/network_cyw43.c b/extmod/network_cyw43.c index 834f09eae9..f8490d6b9a 100644 --- a/extmod/network_cyw43.c +++ b/extmod/network_cyw43.c @@ -222,8 +222,13 @@ STATIC mp_obj_t network_cyw43_scan(size_t n_args, const mp_obj_t *pos_args, mp_m // Wait for scan to finish, with a 10s timeout uint32_t start = mp_hal_ticks_ms(); - while (cyw43_wifi_scan_active(self->cyw) && mp_hal_ticks_ms() - start < 10000) { - MICROPY_EVENT_POLL_HOOK + const uint32_t TIMEOUT = 10000; + while (cyw43_wifi_scan_active(self->cyw)) { + uint32_t elapsed = mp_hal_ticks_ms() - start; + if (elapsed >= TIMEOUT) { + break; + } + mp_event_wait_ms(TIMEOUT - elapsed); } return res; |