diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2012-05-30 11:18:46 -0700 |
---|---|---|
committer | Dmitry Shmidt <dimitrysh@google.com> | 2012-05-30 11:22:51 -0700 |
commit | 98f9e76624da6bb96edc1982c423e4a119c5170a (patch) | |
tree | 7d3861403839d7e6e01820e9dcf846d970896780 /wpa_supplicant/p2p_supplicant.c | |
parent | 5b5fb02b225c5c05a4477bef58bdaceede5d68dc (diff) | |
download | external_wpa_supplicant_8-98f9e76624da6bb96edc1982c423e4a119c5170a.zip external_wpa_supplicant_8-98f9e76624da6bb96edc1982c423e4a119c5170a.tar.gz external_wpa_supplicant_8-98f9e76624da6bb96edc1982c423e4a119c5170a.tar.bz2 |
wpa_supplicant: Update to Version 0.8.27 from BRCM
- Fix crash during TRUE pbc overlap
- Fix p2p_stop_find event
- Avoid race condition in GO-NEG process if both peers enter
p2p_connect at the same time
- Retry assoc immediately on ASSOC-REJECT. Previously assoc was
retried on authentication timeout (which occurs after 10secs).
Now on assoc reject, we cancel the auth timer and then initiate
a assoc scan.
BUG: 6543705, 6427094
Change-Id: I4489fb14b6cead069f0d14fcbb9e2224f790d77b
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wpa_supplicant/p2p_supplicant.c')
-rw-r--r-- | wpa_supplicant/p2p_supplicant.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index f9317a8..68b3c9b 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -44,9 +44,16 @@ * How many seconds to try to reconnect to the GO when connection in P2P client * role has been lost. */ +#ifdef ANDROID_P2P +#define P2P_MAX_CLIENT_IDLE 20 +#else #define P2P_MAX_CLIENT_IDLE 10 +#endif /* ANDROID_P2P */ #endif /* P2P_MAX_CLIENT_IDLE */ +#ifdef ANDROID_P2P +static int wpas_global_scan_in_progress(struct wpa_supplicant *wpa_s); +#endif static void wpas_p2p_long_listen_timeout(void *eloop_ctx, void *timeout_ctx); static struct wpa_supplicant * wpas_p2p_get_group_iface(struct wpa_supplicant *wpa_s, int addr_allocated, @@ -3402,8 +3409,10 @@ static void wpas_p2p_idle_update(void *ctx, int idle) if (!wpa_s->ap_iface) return; wpa_printf(MSG_DEBUG, "P2P: GO - group %sidle", idle ? "" : "not "); - if (idle) + if (idle) { + wpa_printf(MSG_DEBUG,"Calling set group idle time out from idle_update"); wpas_p2p_set_group_idle_timeout(wpa_s); + } else eloop_cancel_timeout(wpas_p2p_group_idle_timeout, wpa_s, NULL); } @@ -3927,8 +3936,8 @@ static void wpas_p2p_group_idle_timeout(void *eloop_ctx, void *timeout_ctx) return; } - wpa_printf(MSG_DEBUG, "P2P: Group idle timeout reached - terminate " - "group"); + wpa_printf(MSG_DEBUG, "P2P: Group idle timeout reached - terminate %d" + "group",wpa_s->conf->p2p_group_idle); wpa_s->removal_reason = P2P_GROUP_REMOVAL_IDLE_TIMEOUT; wpas_p2p_group_delete(wpa_s); } @@ -4202,7 +4211,10 @@ void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s) if (!wpa_s->ap_iface && !eloop_is_timeout_registered(wpas_p2p_group_idle_timeout, wpa_s, NULL)) + { + wpa_printf(MSG_DEBUG,"Calling set grouple idle_timeout from notif_disconnected"); wpas_p2p_set_group_idle_timeout(wpa_s); + } } |