Browse Source

P2P: Fix invitation-to-running-group handling

The pending_invite_ssid_id of -1 (running group, not persistent) was
being stored incorrectly in the group interface, not device interface
(i.e., parent of the group interface) and consequently, the incorrect
information was used when processing the Invitation Response.

If there was a persistent group credentials stored with network id
0, those were used instead to try to set up a persistent group
instead of using the already running group.
Jouni Malinen 14 years ago
parent
commit
bb79dc720b
1 changed files with 1 additions and 1 deletions
  1. 1 1
      wpa_supplicant/p2p_supplicant.c

+ 1 - 1
wpa_supplicant/p2p_supplicant.c

@@ -3506,7 +3506,7 @@ int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname,
 		    !is_zero_ether_addr(wpa_s->go_dev_addr))
 			go_dev_addr = wpa_s->go_dev_addr;
 	}
-	wpa_s->pending_invite_ssid_id = -1;
+	wpa_s->parent->pending_invite_ssid_id = -1;
 
 	return p2p_invite(wpa_s->global->p2p, peer_addr, role, bssid,
 			  ssid->ssid, ssid->ssid_len, wpa_s->assoc_freq,