From 06c8cd5bb62dc3ef988e7ad461be0b7908ce4a6a Mon Sep 17 00:00:00 2001
From: Luke Bennett <contact@stacki.ltd>
Date: Thu, 8 Dec 2022 05:32:02 +0000
Subject: [PATCH] Clear default wifi handlers on wifi_deinit

Clear default wifi handlers that are set during wifi_init on wifi_deinit
---
 components/esp8266/source/esp_wifi.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/components/esp8266/source/esp_wifi.c b/components/esp8266/source/esp_wifi.c
index 5524c3431..7e2a47db2 100644
--- a/components/esp8266/source/esp_wifi.c
+++ b/components/esp8266/source/esp_wifi.c
@@ -117,9 +117,15 @@ static void esp_wifi_set_debug_log()
 
 esp_err_t esp_wifi_deinit(void)
 {
-    esp_err_t err = ESP_OK;
-
+    esp_err_t handlers_err = tcpip_adapter_clear_default_wifi_handlers();
+    if (handlers_err != ESP_OK) {
+        ESP_LOGW(TAG, "Failed to clear Wi-Fi handlers (0x%x)", handlers_err);
+        return handlers_err;
+    }
+    
     esp_supplicant_deinit();
+    
+    esp_err_t err = ESP_OK;
     err = esp_wifi_deinit_internal();
     if (err != ESP_OK) {
         ESP_LOGE(TAG, "Failed to deinit Wi-Fi driver (0x%x)", err);