From a592f2a9eada81f2ae6b62a1c7d516b96efd63a7 Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Thu, 17 Oct 2019 21:36:50 +0800 Subject: [PATCH] P2P: Continue listening next request if no post-PD operations If there are no post-provision discovery operations, we should continue in find mode to avoid getting the p2p_find operation stopped (stuck in SEARCH state) unexpectedly. Signed-off-by: Jimmy Chen --- src/p2p/p2p.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c index a08ba0268..24e429c59 100644 --- a/src/p2p/p2p.c +++ b/src/p2p/p2p.c @@ -3451,12 +3451,18 @@ static void p2p_prov_disc_resp_cb(struct p2p_data *p2p, int success) p2p->pending_action_state = P2P_NO_PENDING_ACTION; - if (!success) + if (!success) { + if (p2p->state == P2P_SEARCH) + p2p_continue_find(p2p); return; + } if (!p2p->cfg->prov_disc_resp_cb || - p2p->cfg->prov_disc_resp_cb(p2p->cfg->cb_ctx) < 1) + p2p->cfg->prov_disc_resp_cb(p2p->cfg->cb_ctx) < 1) { + if (p2p->state == P2P_SEARCH) + p2p_continue_find(p2p); return; + } p2p_dbg(p2p, "Post-Provision Discovery operations started - do not try to continue other P2P operations");