|
@@ -5945,6 +5945,16 @@ struct wpa_ssid * wpas_p2p_get_persistent(struct wpa_supplicant *wpa_s,
|
|
|
void wpas_p2p_notify_ap_sta_authorized(struct wpa_supplicant *wpa_s,
|
|
|
const u8 *addr)
|
|
|
{
|
|
|
+ if (eloop_cancel_timeout(wpas_p2p_group_formation_timeout,
|
|
|
+ wpa_s->parent, NULL) > 0) {
|
|
|
+
|
|
|
+ * This can happen if WPS provisioning step is not terminated
|
|
|
+ * cleanly (e.g., P2P Client does not send WSC_Done). Since the
|
|
|
+ * peer was able to connect, there is no need to time out group
|
|
|
+ * formation after this, though.
|
|
|
+ */
|
|
|
+ wpa_printf(MSG_DEBUG, "P2P: Workaround - cancelled P2P group formation timeout on data connection");
|
|
|
+ }
|
|
|
wpa_s->global->p2p_go_wait_client.sec = 0;
|
|
|
if (addr == NULL)
|
|
|
return;
|