From: Andrei Otcheretianski Date: Sun, 7 Mar 2021 21:40:02 +0000 (+0200) Subject: P2P: Clear pending_listen_freq when stopping listen X-Git-Tag: hostap_2_10~435 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01f2e54ce7f201052a0af21c744b16ab03d40291;p=thirdparty%2Fhostap.git P2P: Clear pending_listen_freq when stopping listen If listen work never started, pending_listen_freq might be left uncleared, preventing the subsequent listen to start. This could happen in p2p_timeout_wait_peer_idle() after the commit 13256b8cf ("P2P: Stop old listen radio work before go to WAIT_PEER_IDLE state") added a stop_listen() call there. Fixes: 13256b8cf3ed ("P2P: Stop old listen radio work before go to WAIT_PEER_IDLE state") Signed-off-by: Andrei Otcheretianski --- diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c index 81bb937b3..1aa98f1a8 100644 --- a/src/p2p/p2p.c +++ b/src/p2p/p2p.c @@ -3994,6 +3994,10 @@ static void p2p_timeout_wait_peer_idle(struct p2p_data *p2p) p2p_dbg(p2p, "Go to Listen state while waiting for the peer to become ready for GO Negotiation"); p2p->cfg->stop_listen(p2p->cfg->cb_ctx); + if (p2p->pending_listen_freq) { + p2p_dbg(p2p, "Clear pending_listen_freq for %s", __func__); + p2p->pending_listen_freq = 0; + } p2p_set_state(p2p, P2P_WAIT_PEER_CONNECT); p2p_listen_in_find(p2p, 0); }