From fdd48ff6e06582245d01efcf3147b179ffe74b8b Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 24 Feb 2013 21:54:55 +0200 Subject: [PATCH] P2P NFC: Optimize GO Negotiation retries When NFC connection handover is used to trigger GO Negotiation, the channel used for the GO Negotiation frames is already known. As such, there is no need to use the Listen operations to find the peer. Signed-hostap: Jouni Malinen --- src/p2p/p2p.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c index b744eb1e4..708db4c03 100644 --- a/src/p2p/p2p.c +++ b/src/p2p/p2p.c @@ -3128,7 +3128,12 @@ static void p2p_timeout_connect(struct p2p_data *p2p) p2p_connect_send(p2p, p2p->go_neg_peer); return; } - + if (p2p->go_neg_peer && p2p->go_neg_peer->oob_go_neg_freq > 0) { + p2p_dbg(p2p, "Skip connect-listen since GO Neg channel known (OOB)"); + p2p_set_state(p2p, P2P_CONNECT_LISTEN); + p2p_set_timeout(p2p, 0, 30000); + return; + } p2p_set_state(p2p, P2P_CONNECT_LISTEN); p2p_listen_in_find(p2p, 0); }