path: root/wpa_supplicant/ap.c
diff options
authorVinay Krishna Eranna <c_veran@qti.qualcomm.com>2013-09-03 08:17:21 (GMT)
committerJouni Malinen <j@w1.fi>2013-09-03 09:43:12 (GMT)
commitb2b688d18d40cd667d0faa149b4a7172166b3bd4 (patch)
tree82b3d4b5133bed61713b783ee880f34baccc495e /wpa_supplicant/ap.c
parentea0e92eef571ba9770362695829f609860160e55 (diff)
P2P: Fix crash when failed to create GO interfaceaosp-kk-from-upstream
wpa_supplicant crashes if driver configuration for AP mode interface configuration fails after group negotiation. This is because of a regression from commit 1075b2957169d8f9d6dddd7679339c751dc9515b that ends up freeing the wpa_s instance from within wpa_supplicant_create_ap() without the caller knowing. Fix this by using an eloop timeout to free remove the P2P group so that wpa_supplicant_create_ap() and especially wpa_supplicant_associate() callers do not need to know about interface getting possibly removed. In addition, move the P2P specific code into p2p_supplicant.c where it really belongs. This allows the already existing group formation timeout to be used by reducing the timeout to zero. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'wpa_supplicant/ap.c')
1 files changed, 0 insertions, 5 deletions
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c
index c2fb215..fdbe248 100644
--- a/wpa_supplicant/ap.c
+++ b/wpa_supplicant/ap.c
@@ -505,11 +505,6 @@ int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
if (wpa_drv_associate(wpa_s, &params) < 0) {
wpa_msg(wpa_s, MSG_INFO, "Failed to start AP functionality");
-#ifdef CONFIG_P2P
- if (ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION &&
- wpa_s->global->p2p_group_formation == wpa_s)
- wpas_p2p_group_formation_failed(wpa_s->parent);
-#endif /* CONFIG_P2P */
return -1;