From 0ab71d1b1a61a02924e1f1db0443de23313651fe Mon Sep 17 00:00:00 2001
From: jbh <jb@etoele.com>
Date: Thu, 21 Jul 2016 19:02:46 +0200
Subject: [PATCH] proposal for issue #1845 wifi_wps_status_cb get an undefined
 status 4 and missed wifi_wps_disable

---
 libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp | 7 ++++++-
 tools/sdk/include/user_interface.h           | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp
index b526f20430..1d7d22736d 100644
--- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp
+++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp
@@ -590,6 +590,12 @@ void wifi_wps_status_cb(wps_cb_status status) {
         case WPS_CB_ST_WEP:
             DEBUGV("wps WEP\n");
             break;
+        case WPS_CB_ST_UNK:
+            DEBUGV("wps UNKNOWN\n");
+            if(!wifi_wps_disable()) {
+                DEBUGV("wps disable failed\n");
+            }
+            break;
     }
     // TODO user function to get status
 
@@ -670,4 +676,3 @@ void ESP8266WiFiSTAClass::_smartConfigCallback(uint32_t st, void* result) {
         WiFi.stopSmartConfig();
     }
 }
-
diff --git a/tools/sdk/include/user_interface.h b/tools/sdk/include/user_interface.h
index f916afa457..f9195829c9 100644
--- a/tools/sdk/include/user_interface.h
+++ b/tools/sdk/include/user_interface.h
@@ -481,6 +481,7 @@ enum wps_cb_status {
 	WPS_CB_ST_FAILED,
 	WPS_CB_ST_TIMEOUT,
 	WPS_CB_ST_WEP,
+	WPS_CB_ST_UNK,
 };
 
 bool wifi_wps_enable(WPS_TYPE_t wps_type);