[PATCH] P2P: Decrement sd_pending_bcast_queries when sd returns success
Constantin Musca
constantin.musca
Thu Sep 18 05:18:59 PDT 2014
The sd_pending_bcast_queries variable should be decremented only
in case of success. This way, the supplicant can retry if a service
discovery request fails.
Change-Id: Id2061f31e7f4669527d11cb3478a12af4418e1b9
Signed-off-by: Constantin Musca <constantin.musca at intel.com>
---
src/p2p/p2p.c | 10 ++++++++++
src/p2p/p2p_sd.c | 10 ----------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index e746310..522ea89 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -2773,6 +2773,16 @@ static void p2p_sd_cb(struct p2p_data *p2p, int success)
p2p_dbg(p2p, "No SD peer entry known");
p2p_continue_find(p2p);
return;
+ } else if (p2p->sd_query->for_all_peers) {
+ /* Update the pending broadcast SD query count for this device */
+ p2p->sd_peer->sd_pending_bcast_queries--;
+
+ /*
+ * If there are no pending broadcast queries for this device, mark it as
+ * done (-1).
+ */
+ if (p2p->sd_peer->sd_pending_bcast_queries == 0)
+ p2p->sd_peer->sd_pending_bcast_queries = -1;
}
/* Wait for response from the peer */
diff --git a/src/p2p/p2p_sd.c b/src/p2p/p2p_sd.c
index 6235b1d..13119c2 100644
--- a/src/p2p/p2p_sd.c
+++ b/src/p2p/p2p_sd.c
@@ -301,16 +301,6 @@ int p2p_start_sd(struct p2p_data *p2p, struct p2p_device *dev)
ret = -1;
}
- /* Update the pending broadcast SD query count for this device */
- dev->sd_pending_bcast_queries--;
-
- /*
- * If there are no pending broadcast queries for this device, mark it as
- * done (-1).
- */
- if (dev->sd_pending_bcast_queries == 0)
- dev->sd_pending_bcast_queries = -1;
-
wpabuf_free(req);
return ret;
--
1.9.1
More information about the Hostap
mailing list