From 889e4f956f4db547d7c7f0b58bfbbc445b4602cd Mon Sep 17 00:00:00 2001 From: pennam Date: Wed, 29 Oct 2025 14:12:15 +0100 Subject: [PATCH] wifi: fix race condition waiting for connect result --- libraries/WiFi/src/WiFi.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/WiFi/src/WiFi.cpp b/libraries/WiFi/src/WiFi.cpp index 5a6d2912..f7a57bd1 100644 --- a/libraries/WiFi/src/WiFi.cpp +++ b/libraries/WiFi/src/WiFi.cpp @@ -28,11 +28,13 @@ int WiFiClass::begin(const char *ssid, const char *passphrase, wl_enc_type secur if (ret) { return false; } - NetworkInterface::begin(false, NET_EVENT_WIFI_MASK); - if (blocking) { + + ret = status(); + if (ret != WL_CONNECTED && blocking) { net_mgmt_event_wait_on_iface(sta_iface, NET_EVENT_WIFI_CONNECT_RESULT, NULL, NULL, NULL, K_FOREVER); } + NetworkInterface::begin(blocking, NET_EVENT_WIFI_MASK); return status(); }