diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/p2p/p2p_go_neg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c index 248b2a0..51db6df 100644 --- a/src/p2p/p2p_go_neg.c +++ b/src/p2p/p2p_go_neg.c @@ -534,6 +534,14 @@ void p2p_process_go_neg_req(struct p2p_data *p2p, const u8 *sa, return; } + if (dev->dialog_token == msg.dialog_token) { + wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, + "P2P: Do not reply since dialog token %d " + "was already used", msg.dialog_token); + p2p_parse_free(&msg); + return; + } + go = p2p_go_det(p2p->go_intent, *msg.go_intent); if (go < 0) { wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, |