[RFC v2 93/99] wpa_supplicant: Set chan_entry field in local NAN schedule

Andrei Otcheretianski andrei.otcheretianski at intel.com
Tue Dec 23 03:52:37 PST 2025


Provide the 6 byte channel entry when configuring local schedule.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski at intel.com>
---
 wpa_supplicant/nan_supplicant.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/wpa_supplicant/nan_supplicant.c b/wpa_supplicant/nan_supplicant.c
index 6b8f234c2e..784d6ee8e1 100644
--- a/wpa_supplicant/nan_supplicant.c
+++ b/wpa_supplicant/nan_supplicant.c
@@ -877,6 +877,8 @@ int wpas_nan_sched_config_map(struct wpa_supplicant *wpa_s, const char *cmd)
 		int j, i = sched_cfg.num_channels;;
 		struct bitfield *bf_chan = NULL;
 		char *colon = os_strchr(token, ':');
+		struct nan_sched_chan chan;
+		struct nan_chan_entry *chan_entry;
 
 		if (i >= wpa_s->nan_capa.sched_chans) {
 			wpa_printf(MSG_DEBUG,
@@ -971,6 +973,18 @@ int wpas_nan_sched_config_map(struct wpa_supplicant *wpa_s, const char *cmd)
 
 		bitfield_union_in_place(bf_total, bf_chan);
 		bitfield_free(bf_chan);
+
+		chan.freq = sched_cfg.channels[i].freq;
+		chan.center_freq1 = sched_cfg.channels[i].center_freq1;
+		chan.center_freq2 = sched_cfg.channels[i].center_freq2;
+		chan.bandwidth = sched_cfg.channels[i].bandwidth;
+		chan_entry = (void *)&sched_cfg.channels[i].chan_entry;
+		if (nan_get_chan_entry(wpa_s->nan, &chan, chan_entry)) {
+			wpa_printf(MSG_DEBUG,
+				   "NAN: Failed to get channel entry for freq %d",
+				   sched_cfg.channels[i].freq);
+			goto out;
+		}
 	}
 
 	nan_dump_sched_config("NAN: Set schedule config", &sched_cfg);
-- 
2.49.0




More information about the Hostap mailing list