From 8e4839cefadda21efd993bdf14e6096fa3f4f476 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 28 Feb 2013 22:15:46 +0200 Subject: [PATCH] P2P: Increase GO Negotiation timeouts There may be environments in which large number of devices are operating on the social channels. In such cases, it is possible for the Action frame TX operation wait for quite long time before being able to get the frame out. To avoid triggering GO Negotiation failures, increase the timeouts for GO Neg Req (with TX ACK) and GO Neg Resp (with or without TX ACK as long as status=0) to 500 ms. Signed-hostap: Jouni Malinen --- src/p2p/p2p.c | 4 ++-- src/p2p/p2p_go_neg.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c index c174c74..f608be0 100644 --- a/src/p2p/p2p.c +++ b/src/p2p/p2p.c @@ -2945,7 +2945,7 @@ static void p2p_go_neg_req_cb(struct p2p_data *p2p, int success) * channel. */ p2p_set_state(p2p, P2P_CONNECT); - p2p_set_timeout(p2p, 0, success ? 200000 : 100000); + p2p_set_timeout(p2p, 0, success ? 500000 : 100000); } @@ -2961,7 +2961,7 @@ static void p2p_go_neg_resp_cb(struct p2p_data *p2p, int success) return; } p2p_set_state(p2p, P2P_CONNECT); - p2p_set_timeout(p2p, 0, 250000); + p2p_set_timeout(p2p, 0, 500000); } diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c index 957e29f..394b3fb 100644 --- a/src/p2p/p2p_go_neg.c +++ b/src/p2p/p2p_go_neg.c @@ -230,7 +230,7 @@ int p2p_connect_send(struct p2p_data *p2p, struct p2p_device *dev) dev->connect_reqs++; if (p2p_send_action(p2p, freq, dev->info.p2p_device_addr, p2p->cfg->dev_addr, dev->info.p2p_device_addr, - wpabuf_head(req), wpabuf_len(req), 200) < 0) { + wpabuf_head(req), wpabuf_len(req), 500) < 0) { wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, "P2P: Failed to send Action frame"); /* Use P2P find to recover and retry */ @@ -773,7 +773,7 @@ fail: P2P_PENDING_GO_NEG_RESPONSE_FAILURE; if (p2p_send_action(p2p, freq, sa, p2p->cfg->dev_addr, p2p->cfg->dev_addr, - wpabuf_head(resp), wpabuf_len(resp), 250) < 0) { + wpabuf_head(resp), wpabuf_len(resp), 500) < 0) { wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, "P2P: Failed to send Action frame"); } -- 2.1.4