Skip to content

Commit 3dbba47

Browse files
ShyamalKhachanejack0c
authored andcommitted
fix(esp_wifi): Fix issues in NAN datapath establishment
1. Resolve indefinite waiting while stopping NAN 2. Increase NDP response timeout to 8 DW's 3. Set NAN discovery beacon interval to 100 TU's as per Section 9.2 of Wi-Fi Aware Specification v4.0
1 parent 02c2356 commit 3dbba47

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

components/esp_wifi/wifi_apps/nan_app/src/nan_app.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -28,12 +28,13 @@
2828
#define NDP_REJECTED BIT5
2929

3030
/* Macros */
31-
#define MACADDR_LEN 6
31+
#define MACADDR_LEN 6
3232
#define MACADDR_EQUAL(a1, a2) (memcmp(a1, a2, MACADDR_LEN))
3333
#define MACADDR_COPY(dst, src) (memcpy(dst, src, MACADDR_LEN))
34-
#define NAN_DW_INTVL_MS 524 /* NAN DW interval (512 TU's ~= 524 mSec) */
35-
#define NAN_NDP_RESP_TIMEOUT_DW 4
34+
#define NAN_DW_INTVL_MS 524 /* NAN DW interval (512 TU's ~= 524 mSec) */
35+
#define NAN_NDP_RESP_TIMEOUT_DW 8
3636
#define NAN_NDP_RESP_TIMEOUT NAN_NDP_RESP_TIMEOUT_DW*NAN_DW_INTVL_MS
37+
#define NAN_NDP_TERM_TIMEOUT 2*NAN_DW_INTVL_MS /* NDP Termination Timeout - 2 DW*/
3738

3839
/* Global Variables */
3940
static const char *TAG = "nan_app";
@@ -800,7 +801,7 @@ esp_err_t esp_wifi_nan_stop(void)
800801

801802
NAN_DATA_UNLOCK();
802803
os_event_group_clear_bits(nan_event_group, NDP_TERMINATED);
803-
os_event_group_wait_bits(nan_event_group, NDP_TERMINATED, pdFALSE, pdFALSE, portMAX_DELAY);
804+
os_event_group_wait_bits(nan_event_group, NDP_TERMINATED, pdFALSE, pdFALSE, pdMS_TO_TICKS(NAN_NDP_TERM_TIMEOUT));
804805
os_event_group_clear_bits(nan_event_group, NDP_TERMINATED);
805806
/* Wait for 1 NAN DW interval (512 TU's ~= 524 mSec) for successful termination */
806807
g_wifi_osi_funcs._task_delay(NAN_DW_INTVL_MS/portTICK_PERIOD_MS);

0 commit comments

Comments
 (0)