[PATCH] P2P: Add missing stop_listen call in p2p_state_timeout

Constantin Musca constantin.musca
Fri Sep 12 00:22:19 PDT 2014

When a P2P timeout occurs and p2p_state_timeout is executed, the stop_listen
function should also be called besides setting in_listen to zero to avoid
the incorrect cancellation of the new start_listen request ("P2P: Reject
start_listen since p2p_listen_work already exists").

Signed-off-by: Constantin Musca <constantin.musca at intel.com>
 src/p2p/p2p.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index 565cbdb..808a0c6 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -3451,6 +3451,7 @@ static void p2p_state_timeout(void *eloop_ctx, void *timeout_ctx)
 	p2p_dbg(p2p, "Timeout (state=%s)", p2p_state_txt(p2p->state));
 	p2p->in_listen = 0;
+	p2p->cfg->stop_listen(p2p->cfg->cb_ctx);
 	switch (p2p->state) {
 	case P2P_IDLE:

More information about the Hostap mailing list