aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepthi Gowri <c_gowri@qti.qualcomm.com>2013-10-07 13:50:54 +0530
committerDeepthi Gowri <deepthi@codeaurora.org>2013-10-22 16:30:41 +0530
commitf1fe1967707a221876d7e49378ece97160e73b32 (patch)
tree302dd14c783a82627f090cbd2c04ae95654f7481
parentc89185f386408ee2201fc4f4fc50e950f894d4c3 (diff)
downloadandroid_external_wpa_supplicant_8-f1fe1967707a221876d7e49378ece97160e73b32.tar.gz
android_external_wpa_supplicant_8-f1fe1967707a221876d7e49378ece97160e73b32.tar.bz2
android_external_wpa_supplicant_8-f1fe1967707a221876d7e49378ece97160e73b32.zip
P2P: Clear p2p_group_formation and p2p_in_provisioning on group removal
Commit 41f853235fe1d1fad1acecc0ee5dfe81c872c6b2 extends group formation timeout for the first data connection to complete and resets p2p_go_group_formation_completed flag due to which p2p_in_provisioning and p2p_group_formation flags are not cleared when wpas_group_formation_completed() is called. This can result in both station scan and p2p_find failures in the case where separate P2P group interface is not used and the client does not complete 4-way handshake. Fix this by clearing p2p_group_formation and p2p_in_provisioning when such a P2P group is deleted. Change-Id: Ia1842eca41e01d6ecc07d09f4a3d9deb413acbd5 CRs-Fixed: 554197 Git-commit: acdd0fc84f01d8b5e8aa39d6e4573cee0b5ac707 Git-repo: git://w1.fi/srv/git/hostap.git Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
-rw-r--r--wpa_supplicant/p2p_supplicant.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index f4d2e944..84db2c9a 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -401,6 +401,11 @@ static int wpas_p2p_group_delete(struct wpa_supplicant *wpa_s,
return 1;
}
+ if (!wpa_s->p2p_go_group_formation_completed) {
+ wpa_s->global->p2p_group_formation = NULL;
+ wpa_s->p2p_in_provisioning = 0;
+ }
+
wpa_printf(MSG_DEBUG, "P2P: Remove temporary group network");
if (ssid && (ssid->p2p_group ||
ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION ||