p2p: continue listening next request if no post-PD operations

If no post-provision discovery operations, it should continue listening
next request or this results in the p2p_find operation getting stopped
(stuck in SEARCH state) unexpectedly.

Bug: 141382930
Test: CtsVerifier - WiFi Direct
Change-Id: I3f4a5f2afcda24297beaef8a1d7e90c5e071e665
Signed-off-by: Jimmy Chen <jimmycmchen@google.com>
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index e8e2538..0396312 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -3456,12 +3456,18 @@
 
 	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");