[PATCH 3/6] P2P: Set p2p_go_wait_client in invitation_result() cb
Jouni Malinen
j at w1.fi
Sat Nov 21 08:28:39 PST 2015
On Tue, Nov 03, 2015 at 04:24:58PM +0200, Ilan Peer wrote:
> When an invitation to join an existing group is accepted by the
> peer device, set p2p_go_wait_client to the current time so
> that wpas_p2p_in_progress() would return != 0, thus preventing
> P2P CSA, scanning etc., that would interfere with the peer
> device connection.
> diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
> @@ -3101,7 +3101,13 @@ static void wpas_invitation_result(void *ctx, int status, const u8 *bssid,
> if (wpa_s->pending_invite_ssid_id == -1) {
> if (status == P2P_SC_FAIL_UNKNOWN_GROUP)
> wpas_remove_persistent_client(wpa_s, peer);
> - return; /* Invitation to active group */
> +
> + /*
> + * Invitation to active group. Set the client wait, to allow
> + * provisioning and connection.
> + */
> + os_get_reltime(&wpa_s->global->p2p_go_wait_client);
> + return;
> }
Shouldn't this check for status == P2P_SC_SUCCESS to match that comment
about accepted invitation in the commit message? In addition to that,
this looks a bit confusing since this location can be reached both in GO
and P2P Client role in an existing group. I'd understand the GO case,
but setting p2p_go_wait_client on an interface that is in P2P Client
role would make this more difficult to understand.
--
Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list