[PATCH 43/71] NAN: Pass local schedule as a parameter to nan_configure_peer_schedule()
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Wed Apr 1 15:01:52 PDT 2026
From: Avraham Stern <avraham.stern at intel.com>
Allow using nan_configure_peer_schedule() not only for NDP setup
by passing the local schedule as a parameter instead of always using
the NDL schedule.
Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
src/nan/nan.c | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/nan/nan.c b/src/nan/nan.c
index 22d321ad17..b99cebb9f9 100644
--- a/src/nan/nan.c
+++ b/src/nan/nan.c
@@ -1192,7 +1192,8 @@ static void nan_peer_get_committed_avail(const struct nan_data *nan,
static int nan_configure_peer_schedule(struct nan_data *nan,
- struct nan_peer *peer)
+ struct nan_peer *peer,
+ struct nan_schedule *local_sched)
{
int ret;
struct nan_dev_capa_entry *cur;
@@ -1201,13 +1202,7 @@ static int nan_configure_peer_schedule(struct nan_data *nan,
wpa_printf(MSG_DEBUG, "NAN: Configure peer schedule");
- if (!peer->ndl) {
- wpa_printf(MSG_DEBUG,
- "NAN: Cannot configure peer NMI STA - no schedule");
- return 0;
- }
-
- if (!nan_peer_schedule_intersects(nan, peer, &peer->ndl->sched)) {
+ if (!nan_peer_schedule_intersects(nan, peer, local_sched)) {
wpa_printf(MSG_DEBUG,
"NAN: Cannot configure peer NMI STA - no intersecting schedule");
return 0;
@@ -1481,7 +1476,7 @@ static int nan_action_rx_ndp(struct nan_data *nan, struct nan_peer *peer,
if (peer->ndp_setup.state == NAN_NDP_STATE_DONE &&
peer->ndl->state == NAN_NDL_STATE_DONE) {
wpa_printf(MSG_DEBUG, "NAN: NAF: NDP setup done");
- if (nan_configure_peer_schedule(nan, peer) ||
+ if (nan_configure_peer_schedule(nan, peer, &peer->ndl->sched) ||
nan_ndp_connected(nan, peer))
nan_ndp_disconnected(nan, peer,
NAN_REASON_UNSPECIFIED_REASON);
@@ -1656,7 +1651,7 @@ int nan_tx_status(struct nan_data *nan, const u8 *dst, const u8 *data,
if (peer->ndp_setup.state == NAN_NDP_STATE_DONE &&
peer->ndl->state == NAN_NDL_STATE_DONE) {
wpa_printf(MSG_DEBUG, "NAN: TX status: NDP setup done");
- if (nan_configure_peer_schedule(nan, peer) ||
+ if (nan_configure_peer_schedule(nan, peer, &peer->ndl->sched) ||
nan_ndp_connected(nan, peer))
nan_ndp_disconnected(nan, peer,
NAN_REASON_UNSPECIFIED_REASON);
@@ -1697,7 +1692,7 @@ int nan_handle_ndp_setup(struct nan_data *nan, struct nan_ndp_params *params)
naf_oui = NAN_SUBTYPE_DATA_PATH_REQUEST;
timeout = NAN_NDP_SETUP_TIMEOUT_LONG;
- ret = nan_configure_peer_schedule(nan, peer);
+ ret = nan_configure_peer_schedule(nan, peer, &peer->ndl->sched);
if (ret) {
nan_ndp_setup_stop(nan, peer);
return ret;
@@ -1719,7 +1714,8 @@ int nan_handle_ndp_setup(struct nan_data *nan, struct nan_ndp_params *params)
if (peer->ndp_setup.status != NAN_NDP_STATUS_REJECTED) {
ret = nan_ndl_setup(nan, peer, params);
if (!ret) {
- ret = nan_configure_peer_schedule(nan, peer);
+ ret = nan_configure_peer_schedule(nan, peer,
+ &peer->ndl->sched);
if (ret)
peer->ndl->send_naf_on_error = 1;
}
@@ -1744,7 +1740,8 @@ int nan_handle_ndp_setup(struct nan_data *nan, struct nan_ndp_params *params)
case NAN_NDP_ACTION_CONF:
ret = nan_ndl_setup(nan, peer, params);
if (!ret) {
- ret = nan_configure_peer_schedule(nan, peer);
+ ret = nan_configure_peer_schedule(nan, peer,
+ &peer->ndl->sched);
if (ret)
peer->ndl->send_naf_on_error = 1;
}
--
2.53.0
More information about the Hostap
mailing list