summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranecdata <16617689+anecdata@users.noreply.github.com>2021-01-13 23:45:59 -0600
committeranecdata <16617689+anecdata@users.noreply.github.com>2021-01-13 23:45:59 -0600
commite519dd3c5269745f4d6c66a012974e622bc08343 (patch)
treeee31009a9a4d388a65bbfb8e41df4ae1ae572fc5
parent92a439899624145f3597dcaaabb84880c30e5185 (diff)
Retry on all disconnect reasons other than: 2 exception reasons & 1 manual disconnect reason.
-rw-r--r--ports/esp32s2/common-hal/wifi/__init__.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/ports/esp32s2/common-hal/wifi/__init__.c b/ports/esp32s2/common-hal/wifi/__init__.c
index 08d7a164f..b8e8f731b 100644
--- a/ports/esp32s2/common-hal/wifi/__init__.c
+++ b/ports/esp32s2/common-hal/wifi/__init__.c
@@ -65,11 +65,9 @@ static void event_handler(void* arg, esp_event_base_t event_base,
uint8_t reason = d->reason;
ESP_LOGW(TAG, "reason %d 0x%02x", reason, reason);
if (radio->retries_left > 0 &&
- (reason == WIFI_REASON_AUTH_EXPIRE ||
- reason == WIFI_REASON_NOT_AUTHED ||
- reason == WIFI_REASON_ASSOC_EXPIRE ||
- reason == WIFI_REASON_CONNECTION_FAIL ||
- reason == WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT)) {
+ reason != WIFI_REASON_AUTH_FAIL &&
+ reason != WIFI_REASON_NO_AP_FOUND &&
+ reason != WIFI_REASON_ASSOC_LEAVE) {
radio->retries_left--;
ESP_LOGI(TAG, "Retrying connect. %d retries remaining", radio->retries_left);
esp_wifi_connect();