Browse Source

P2P: Cancel action frame offchan wait after recv GO Neg Conf

The missing call to scan_action_done() may keep us off-channel for 250
ms following sending GO Negotiation Response. In case the operating
channel is different from this channel and we're GO, a race could lead
to start beaconing while off-channel. This could potentially cause the
Beacon frames to go out on incorrect channel with some drivers.

Signed-hostap: Eyal Shapira <eyal@wizery.com>
Eyal Shapira 11 years ago
parent
commit
472fa2168a
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/p2p/p2p_go_neg.c

+ 1 - 0
src/p2p/p2p_go_neg.c

@@ -1079,6 +1079,7 @@ void p2p_process_go_neg_conf(struct p2p_data *p2p, const u8 *sa,
 		return;
 	}
 	dev->flags &= ~P2P_DEV_WAIT_GO_NEG_CONFIRM;
+	p2p->cfg->send_action_done(p2p->cfg->cb_ctx);
 
 	if (msg.dialog_token != dev->dialog_token) {
 		p2p_dbg(p2p, "Unexpected Dialog Token %u (expected %u)",