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>
This commit is contained in:
Eyal Shapira 2013-12-19 12:03:29 +02:00 committed by Jouni Malinen
parent bfdc2a3172
commit 472fa2168a

View file

@ -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)",