Эх сурвалжийг харах

Merge branch 'bugfix/pbc_overlap_in_wps_pin_method' into 'master'

wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method

See merge request espressif/esp-idf!25694
Jiang Jiang Jian 2 жил өмнө
parent
commit
0087f714ec

+ 8 - 4
components/wpa_supplicant/esp_supplicant/src/esp_wps.c

@@ -1,5 +1,5 @@
 /*
- * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
+ * SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
  *
  * SPDX-License-Identifier: Apache-2.0
  */
@@ -1558,9 +1558,13 @@ wifi_wps_scan_done(void *arg, ETS_STATUS status)
     } else if (sm->discover_ssid_cnt == 0)  {
         wps_set_status(WPS_STATUS_SCANNING);
     } else {
-        wpa_printf(MSG_INFO, "PBC session overlap!");
-        wps_set_status(WPS_STATUS_DISABLE);
-        esp_event_post(WIFI_EVENT, WIFI_EVENT_STA_WPS_ER_PBC_OVERLAP, 0, 0, OS_BLOCK);
+        if (wps_get_type() == WPS_TYPE_PBC) {
+            wpa_printf(MSG_INFO, "PBC session overlap!");
+            wps_set_status(WPS_STATUS_DISABLE);
+            esp_event_post(WIFI_EVENT, WIFI_EVENT_STA_WPS_ER_PBC_OVERLAP, 0, 0, OS_BLOCK);
+        } else {
+            wps_set_status(WPS_STATUS_PENDING);
+        }
     }
 
     wpa_printf(MSG_DEBUG, "wps scan_done discover_ssid_cnt = %d", sm->discover_ssid_cnt);