aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2012-10-16 21:40:46 -0700
committerIrfan Sheriff <isheriff@google.com>2012-10-16 21:40:46 -0700
commit81931b8bb302c38828763358f9e15af2b22c52c6 (patch)
tree40680ef0ea635567fa6bbd8fe9c049ef50160c87
parent2c5b17df4c29abdf11a85216c2f6272af796c576 (diff)
downloadexternal_wpa_supplicant_8-81931b8bb302c38828763358f9e15af2b22c52c6.zip
external_wpa_supplicant_8-81931b8bb302c38828763358f9e15af2b22c52c6.tar.gz
external_wpa_supplicant_8-81931b8bb302c38828763358f9e15af2b22c52c6.tar.bz2
Increase channel delay to 100ms
There is an inherent flaw in the p2p protocol design where an ACK loss right before channel switch leads to peers being out of sync. A work around of 50ms was added persistent case, but it turns out in heavy lossy conditions that is not enough. Increase it to 100ms. Experimental evaluation showed 100ms improves the reliability of p2p persistence reinvocation. Bug: 7359500 Change-Id: I73ab1b64e32b87101e95b0e487c90818c2c0aaf3
-rw-r--r--wpa_supplicant/p2p_supplicant.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index cd3aa56..f97d2fa 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -2399,9 +2399,15 @@ static void wpas_invitation_result(void *ctx, int status, const u8 *bssid)
* the persistent group so that we will remain on the current channel to
* acknowledge any possible retransmission from the peer.
*/
+#ifndef ANDROID_P2P
wpa_dbg(wpa_s, MSG_DEBUG, "P2P: 50 ms wait on current channel before "
"starting persistent group");
os_sleep(0, 50000);
+#else
+ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: 100 ms wait on current channel before "
+ "starting persistent group");
+ os_sleep(0, 100000);
+#endif
wpas_p2p_group_add_persistent(wpa_s, ssid,
ssid->mode == WPAS_MODE_P2P_GO,