P2P: Use negotiated channel from invitation for persistent GO

During persistent group re-invocation, GO may end up using a different
channel as the operation channel compared to what was indicated in the
invitation frames. This may break the connection if the peer device ends
up scanning the GO only on the channel from the invitation frame. Fix
this by using the negotiated channel (if available) on the GO as the
operating channel instead of the channel that was provided in the
p2p_invite command to start negotiation.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Vinay Krishna Eranna 2013-11-11 13:33:54 +05:30 committed by Jouni Malinen
parent 800d58721c
commit dcd25d4c3b
4 changed files with 23 additions and 6 deletions

View file

@ -3275,7 +3275,8 @@ static void p2p_timeout_invite_listen(struct p2p_data *p2p)
if (p2p->cfg->invitation_result)
p2p->cfg->invitation_result(
p2p->cfg->cb_ctx, -1, NULL, NULL,
p2p->invite_peer->info.p2p_device_addr);
p2p->invite_peer->info.p2p_device_addr,
0);
}
p2p_set_state(p2p, P2P_IDLE);
}