P2P: Fix invitation to active group to use correct operating channel
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 7 Jul 2010 03:07:46 +0000 (20:07 -0700)
committerJouni Malinen <j@w1.fi>
Thu, 9 Sep 2010 14:17:20 +0000 (07:17 -0700)
Invitation Request must use the current operating frequency of the
group, not the default operating channel.

src/p2p/p2p_invitation.c
wpa_supplicant/ap.c
wpa_supplicant/p2p_supplicant.c

index a871dda..c309fe1 100644 (file)
@@ -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));
index 3087542..8d173ff 100644 (file)
@@ -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)
index a3315d3..e14b586 100644 (file)
@@ -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);
 }