[PATCH] P2P: Set correctly global->p2p_group_formation in wpas_p2p_join_start()
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Mon Aug 21 09:36:22 PDT 2017
From: "Aloni, Adiel" <adiel.aloni at intel.com>
When a dedicated P2P device interface is used,
the global->p2p_group_formation would not set in p2p_join_start
if no separate group interface is used.
This would cause that in case of a failure in group formation,
the cleaning of p2p_in_provisioning is done on the wrong interface.
Fix this by setting the global->p2p_group_formation correctly in case
that the group interface is reusing wpa_s->parent.
Signed-off-by: Adiel Aloni <adiel.aloni at intel.com>
---
wpa_supplicant/p2p_supplicant.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index 978aaa3..1654b04 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -5092,17 +5092,18 @@ static int wpas_p2p_join_start(struct wpa_supplicant *wpa_s, int freq,
os_memcpy(group->p2p_pin, wpa_s->p2p_pin,
sizeof(group->p2p_pin));
group->p2p_wps_method = wpa_s->p2p_wps_method;
- } else {
- /*
- * Need to mark the current interface for p2p_group_formation
- * when a separate group interface is not used. This is needed
- * to allow p2p_cancel stop a pending p2p_connect-join.
- * wpas_p2p_init_group_interface() addresses this for the case
- * where a separate group interface is used.
- */
- wpa_s->global->p2p_group_formation = wpa_s;
}
+ /*
+ * Need to mark the current interface for p2p_group_formation
+ * when a separate group interface is not used. This is needed
+ * to allow p2p_cancel stop a pending p2p_connect-join.
+ * wpas_p2p_init_group_interface() addresses this for the case
+ * where a separate group interface is used.
+ */
+ if (group == wpa_s->parent)
+ wpa_s->global->p2p_group_formation = group;
+
group->p2p_in_provisioning = 1;
group->p2p_fallback_to_go_neg = wpa_s->p2p_fallback_to_go_neg;
--
2.7.4
More information about the Hostap
mailing list