path: root/src/p2p/p2p_i.h
diff options
authorJouni Malinen <jouni@qca.qualcomm.com>2013-02-26 14:56:48 (GMT)
committerJouni Malinen <j@w1.fi>2013-02-26 14:56:48 (GMT)
commit003c45804ff0e148a7c6a0b3fe3ee79a28b3b531 (patch)
treea5c4cedc9c0fbaa2e3bebf7b09957da37b9e1d00 /src/p2p/p2p_i.h
parentf8361e3d681e55efead2aac79fedf4b232d533fb (diff)
P2P: Assign GO tie breaker bit at the same time with dialog token
Commit 624b4d5a6469c92b039e0d39655b9e0eb26588aa changed GO Negotiation to use the same Dialog Token value for all retransmissions of the GO Negotiation Request within the same session. However, it did leave the tie breaker bit changing for each frame. While this should not have caused issues for most cases, it looks like there are possible sequences where the peer may end up replying to two GO Negotiation Request frames with different tie breaker values. If in such a case the different GO Negotiation Response frames are used at each device, GO role determination may result in conflicting results when same GO intent is used. Fix this by assigning the tie breaker value at the same time with the dialog token (i.e., when processing the p2p_connect command instead of for each transmitted GO Negotiation Request frame) to avoid issues with GO selection. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src/p2p/p2p_i.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h
index 005f73b..e91959f 100644
--- a/src/p2p/p2p_i.h
+++ b/src/p2p/p2p_i.h
@@ -52,6 +52,7 @@ struct p2p_device {
int go_neg_req_sent;
enum p2p_go_state go_state;
u8 dialog_token;
+ u8 tie_breaker;
u8 intended_addr[ETH_ALEN];
char country[3];