From fd831be2b0a29d78dd12e68c9f881718f49d9a03 Mon Sep 17 00:00:00 2001 From: Eyal Shapira Date: Wed, 24 Oct 2012 04:58:02 +0200 Subject: P2P: cancel action frame offchan wait after recv go neg conf 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-off-by: Eyal Shapira --- 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 2d31f4b..0802037 100644 --- a/src/p2p/p2p_go_neg.c +++ b/src/p2p/p2p_go_neg.c @@ -1097,6 +1097,7 @@ void p2p_process_go_neg_conf(struct p2p_data *p2p, const u8 *sa, wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, "P2P: Received GO Negotiation Confirm from " MACSTR, MAC2STR(sa)); + 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) { -- cgit v1.1