From d9d6a58c8f91df458a7aa4113e2a149b96209957 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 6 Jul 2010 20:07:46 -0700 Subject: [PATCH] P2P: Fix invitation to active group to use correct operating channel Invitation Request must use the current operating frequency of the group, not the default operating channel. --- src/p2p/p2p_invitation.c | 5 +++-- wpa_supplicant/ap.c | 1 + wpa_supplicant/p2p_supplicant.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/p2p/p2p_invitation.c b/src/p2p/p2p_invitation.c index a871dda3d..c309fe191 100644 --- a/src/p2p/p2p_invitation.c +++ b/src/p2p/p2p_invitation.c @@ -405,8 +405,9 @@ int p2p_invite(struct p2p_data *p2p, const u8 *peer, enum p2p_invite_role role, struct p2p_device *dev; wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, - "P2P: Request to invite peer " MACSTR " role=%d", - MAC2STR(peer), role); + "P2P: Request to invite peer " MACSTR " role=%d persistent=%d " + "force_freq=%u", + MAC2STR(peer), role, persistent_group, force_freq); if (bssid) wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, "P2P: Invitation for BSSID " MACSTR, MAC2STR(bssid)); diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index 30875423f..8d173ffac 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -372,6 +372,7 @@ int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s, wpa_s->current_ssid = ssid; os_memcpy(wpa_s->bssid, wpa_s->own_addr, ETH_ALEN); + wpa_s->assoc_freq = ssid->frequency; wpa_supplicant_set_state(wpa_s, WPA_COMPLETED); if (wpa_s->ap_configured_cb) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index a3315d328..e14b58690 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -3140,7 +3140,8 @@ int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname, wpa_s->pending_invite_ssid_id = -1; return p2p_invite(wpa_s->global->p2p, peer_addr, role, bssid, - ssid->ssid, ssid->ssid_len, 0, go_dev_addr, 0); + ssid->ssid, ssid->ssid_len, wpa_s->assoc_freq, + go_dev_addr, 0); }