Browse Source

P2P: Do not filter BSSes based on SSID during P2P Provisioning

TODO: Use group id from GO Neg instead(?)
Jouni Malinen 14 years ago
parent
commit
b2c5a4a3df
1 changed files with 9 additions and 0 deletions
  1. 9 0
      wpa_supplicant/wps_supplicant.c

+ 9 - 0
wpa_supplicant/wps_supplicant.c

@@ -607,12 +607,20 @@ static struct wpa_ssid * wpas_wps_add_network(struct wpa_supplicant *wpa_s,
 	}
 
 	if (bssid) {
+#ifndef CONFIG_P2P
 		struct wpa_bss *bss;
 		int count = 0;
+#endif /* CONFIG_P2P */
 
 		os_memcpy(ssid->bssid, bssid, ETH_ALEN);
 		ssid->bssid_set = 1;
 
+		/*
+		 * Note: With P2P, the SSID may change at the time the WPS
+		 * provisioning is started, so better not filter the AP based
+		 * on the current SSID in the scan results.
+		 */
+#ifndef CONFIG_P2P
 		dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) {
 			if (os_memcmp(bssid, bss->bssid, ETH_ALEN) != 0)
 				continue;
@@ -636,6 +644,7 @@ static struct wpa_ssid * wpas_wps_add_network(struct wpa_supplicant *wpa_s,
 			ssid->ssid = NULL;
 			ssid->ssid_len = 0;
 		}
+#endif /* CONFIG_P2P */
 	}
 
 	return ssid;