[PATCH 7/8] P2P: cancel action frame offchan wait after recv go neg conf

Arik Nemtsov arik
Thu Dec 19 02:03:29 PST 2013

From: Eyal Shapira <eyal at wizery.com>

The missing call to scan_action_done keeps us offchan
on the listen channel for 250ms following sending go neg resp.
In case the oper channel is different from the listen channel
and we're GO a race could lead to start beaconing while offchan.
This causes the beacons to go out on the listen channel instead
of the oper channel.

Signed-hostap: Eyal Shapira <eyal at wizery.com>
 src/p2p/p2p_go_neg.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c
index 73bc519..0774118 100644
--- a/src/p2p/p2p_go_neg.c
+++ b/src/p2p/p2p_go_neg.c
@@ -1057,6 +1057,7 @@ void p2p_process_go_neg_conf(struct p2p_data *p2p, const u8 *sa,
 	p2p_dbg(p2p, "Received GO Negotiation Confirm from " MACSTR,
+	p2p->cfg->send_action_done(p2p->cfg->cb_ctx);
 	dev = p2p_get_device(p2p, sa);
 	if (dev == NULL || dev->wps_method == WPS_NOT_READY ||
 	    dev != p2p->go_neg_peer) {

More information about the Hostap mailing list