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 <jimmycmchen@google.com>
This commit is contained in:
Jimmy Chen 2019-10-17 21:36:50 +08:00 committed by Jouni Malinen
parent a32acf3918
commit a592f2a9ea

View file

@ -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; p2p->pending_action_state = P2P_NO_PENDING_ACTION;
if (!success) if (!success) {
if (p2p->state == P2P_SEARCH)
p2p_continue_find(p2p);
return; return;
}
if (!p2p->cfg->prov_disc_resp_cb || 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; return;
}
p2p_dbg(p2p, p2p_dbg(p2p,
"Post-Provision Discovery operations started - do not try to continue other P2P operations"); "Post-Provision Discovery operations started - do not try to continue other P2P operations");