]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P NFC: Optimize GO Negotiation retries
authorJouni Malinen <jouni@qca.qualcomm.com>
Sun, 24 Feb 2013 19:54:55 +0000 (21:54 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 27 Jan 2014 19:10:56 +0000 (21:10 +0200)
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 <jouni@qca.qualcomm.com>

src/p2p/p2p.c

index b744eb1e42b83adc363aa956a269fdddb3ad7688..708db4c0303747f2783adaee74ece797d7654b04 100644 (file)
@@ -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);
 }