From ea43ad960bfd7b1722b2ae1579f62c76ef30176f Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 16 Mar 2013 20:45:21 +0200 Subject: [PATCH] P2P: Make group operating channel available Provide local GO channel to the P2P module so that it can be used in messages that indicate the current operating channel. Signed-hostap: Jouni Malinen --- src/p2p/p2p.h | 5 +++++ src/p2p/p2p_group.c | 6 ++++++ src/p2p/p2p_i.h | 1 + wpa_supplicant/p2p_supplicant.c | 1 + 4 files changed, 13 insertions(+) diff --git a/src/p2p/p2p.h b/src/p2p/p2p.h index 2ce6ea6a8..327fe459f 100644 --- a/src/p2p/p2p.h +++ b/src/p2p/p2p.h @@ -1371,6 +1371,11 @@ struct p2p_group_config { */ size_t ssid_len; + /** + * freq - Operating channel of the group + */ + int freq; + /** * cb_ctx - Context to use with callback functions */ diff --git a/src/p2p/p2p_group.c b/src/p2p/p2p_group.c index d550da058..dddf92c93 100644 --- a/src/p2p/p2p_group.c +++ b/src/p2p/p2p_group.c @@ -999,3 +999,9 @@ void p2p_group_force_beacon_update_ies(struct p2p_group *group) group->beacon_update = 1; p2p_group_update_ies(group); } + + +int p2p_group_get_freq(struct p2p_group *group) +{ + return group->cfg->freq; +} diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h index e6727abc6..fe4e3b3c4 100644 --- a/src/p2p/p2p_i.h +++ b/src/p2p/p2p_i.h @@ -604,6 +604,7 @@ void p2p_group_force_beacon_update_ies(struct p2p_group *group); struct wpabuf * p2p_group_get_wfd_ie(struct p2p_group *g); void p2p_buf_add_group_info(struct p2p_group *group, struct wpabuf *buf, int max_clients); +int p2p_group_get_freq(struct p2p_group *group); void p2p_buf_add_action_hdr(struct wpabuf *buf, u8 subtype, u8 dialog_token); diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index a7eb9aaba..fa9a9853d 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -5235,6 +5235,7 @@ struct p2p_group * wpas_p2p_group_init(struct wpa_supplicant *wpa_s, cfg->max_clients = wpa_s->conf->max_num_sta; os_memcpy(cfg->ssid, ssid->ssid, ssid->ssid_len); cfg->ssid_len = ssid->ssid_len; + cfg->freq = ssid->frequency; cfg->cb_ctx = wpa_s; cfg->ie_update = wpas_p2p_ie_update; cfg->idle_update = wpas_p2p_idle_update;