P2P: Request fresh scan results after GO Negotiation

The P2P group is not yet operating when going through GO Negotiation
exchange. Previously, an old cached scan result could be used to skip
the scan immediately after the GO Negotiation. While this is quite
unlikely to happen in practice, we can easily force a scan here now with
the generic scan_min_time mechanism. Do that to avoid any corner cases
that a previous instance of the group could have if found in cached scan
results.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2015-08-21 18:40:23 +03:00 committed by Jouni Malinen
parent dfaf11d648
commit 941cd3ec70

View File

@ -2171,19 +2171,23 @@ static void wpas_go_neg_completed(void *ctx, struct p2p_go_neg_results *res)
wpa_s->pending_interface_name[0] = '\0';
group_wpa_s->p2p_in_provisioning = 1;
if (res->role_go)
if (res->role_go) {
wpas_start_wps_go(group_wpa_s, res, 1);
else
} else {
os_get_reltime(&group_wpa_s->scan_min_time);
wpas_start_wps_enrollee(group_wpa_s, res);
}
} else {
wpa_s->p2p_in_provisioning = 1;
wpa_s->global->p2p_group_formation = wpa_s;
if (res->role_go)
if (res->role_go) {
wpas_start_wps_go(wpa_s, res, 1);
else
} else {
os_get_reltime(&wpa_s->scan_min_time);
wpas_start_wps_enrollee(ctx, res);
}
}
wpa_s->p2p_long_listen = 0;
eloop_cancel_timeout(wpas_p2p_long_listen_timeout, wpa_s, NULL);