diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c index 9ac505735..598a449c1 100644 --- a/src/p2p/p2p.c +++ b/src/p2p/p2p.c @@ -1326,7 +1326,9 @@ void p2p_stop_find_for_freq(struct p2p_data *p2p, int freq) void p2p_stop_listen_for_freq(struct p2p_data *p2p, int freq) { - if (freq > 0 && p2p->drv_in_listen == freq && p2p->in_listen) { + if (freq > 0 && + ((p2p->drv_in_listen == freq && p2p->in_listen) || + p2p->pending_listen_freq == (unsigned int) freq)) { p2p_dbg(p2p, "Skip stop_listen since we are on correct channel for response"); return; }