]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Fix p2p_cancel processing during group formation
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 28 Sep 2012 19:01:48 +0000 (22:01 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 28 Sep 2012 19:01:48 +0000 (22:01 +0300)
The wpa_s->p2p_in_provisioning flag did not get cleared in some cases
where p2p_cancel command is used to stop group formation. This can result
in some operations (like p2p_find) failing afterwards. Fix this by using
wpas_group_formation_completed() when processing p2p_cancel for a group
that has not yet completed group formation.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

wpa_supplicant/p2p_supplicant.c

index 089f109fa2dc6de31a5079a447a0ffea1898333b..9964047529cf74e6dd473f3269f5a1d83cf34b31 100644 (file)
@@ -5045,6 +5045,10 @@ int wpas_p2p_cancel(struct wpa_supplicant *wpa_s)
                        found = 1;
                        eloop_cancel_timeout(wpas_p2p_group_formation_timeout,
                                             wpa_s->parent, NULL);
+                       if (wpa_s->p2p_in_provisioning) {
+                               wpas_group_formation_completed(wpa_s, 0);
+                               break;
+                       }
                        wpas_p2p_group_delete(wpa_s,
                                              P2P_GROUP_REMOVAL_REQUESTED);
                        break;