From 43530147155649fcdeb08b40bfecce05d02f423f Mon Sep 17 00:00:00 2001 From: jasta Date: Tue, 28 Feb 2023 13:07:05 -0800 Subject: [PATCH] esp_dpp: Fix retry with esp_supp_dpp_start_listen after failure This fixes a subtle bug in which ESP_ERR_DPP_TX_FAILURE errors would call esp_supp_dpp_stop_listen which sets the s_dpp_stop_listening flag to true. Subsequent attempts to restart listening with esp_supp_dpp_start_listen then only attempt to listen once more for 500ms before reading the s_dpp_stop_listening flag again and giving up. This contributes greatly to #10615, but the fix here is still largely a work-around as it sometimes requires manually retrying a couple times before it works. Without this fix, any number of retries by deinit/init again will seemingly not work as the retries for currently unknown reasons. Signed-off-by: Shreyas Sheth Closes https://github.com/espressif/esp-idf/pull/10865 --- components/wpa_supplicant/esp_supplicant/src/esp_dpp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/components/wpa_supplicant/esp_supplicant/src/esp_dpp.c b/components/wpa_supplicant/esp_supplicant/src/esp_dpp.c index 65ad4f6f36..7a416861de 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_dpp.c +++ b/components/wpa_supplicant/esp_supplicant/src/esp_dpp.c @@ -608,6 +608,7 @@ esp_err_t esp_supp_dpp_start_listen(void) return ESP_ERR_INVALID_STATE; } + s_dpp_stop_listening = false; return esp_dpp_post_evt(SIG_DPP_LISTEN_NEXT_CHANNEL, 0); }