OSDN Git Service

Increase timeouts for p2p
authorIrfan Sheriff <isheriff@google.com>
Wed, 31 Oct 2012 05:22:52 +0000 (22:22 -0700)
committerIrfan Sheriff <isheriff@google.com>
Wed, 31 Oct 2012 05:22:52 +0000 (22:22 -0700)
Dongles can be slow to respond and a quick turn around time on packets does not help.
Allow for upto 350ms on retry attempts for provision discovery, negotiation and invitation

This will catch slow responses within the first attempt and prevent any kind of issues
with sequence number handling

Bug: 7445415
Change-Id: I88a849d400b10f42ac298bad6d01f49803fcc8ba

src/p2p/p2p.c
src/p2p/p2p_invitation.c

index f038812..a3eaa8c 100644 (file)
@@ -2811,7 +2811,11 @@ static void p2p_prov_disc_cb(struct p2p_data *p2p, int success)
                        p2p_continue_find(p2p);
                else if (p2p->user_initiated_pd) {
                        p2p->pending_action_state = P2P_PENDING_PD;
+#ifdef ANDROID_P2P
+                       p2p_set_timeout(p2p, 0, 350000);
+#else
                        p2p_set_timeout(p2p, 0, 300000);
+#endif
                }
                return;
        }
@@ -2828,7 +2832,11 @@ static void p2p_prov_disc_cb(struct p2p_data *p2p, int success)
        /* Wait for response from the peer */
        if (p2p->state == P2P_SEARCH)
                p2p_set_state(p2p, P2P_PD_DURING_FIND);
+#ifdef ANDROID_P2P
+       p2p_set_timeout(p2p, 0, 350000);
+#else
        p2p_set_timeout(p2p, 0, 200000);
+#endif
 }
 
 
@@ -2943,7 +2951,11 @@ static void p2p_go_neg_req_cb(struct p2p_data *p2p, int success)
         * channel.
         */
        p2p_set_state(p2p, P2P_CONNECT);
+#ifdef ANDROID_P2P
+       p2p_set_timeout(p2p, 0, 350000);
+#else
        p2p_set_timeout(p2p, 0, success ? 200000 : 100000);
+#endif
 }
 
 
@@ -2959,7 +2971,11 @@ static void p2p_go_neg_resp_cb(struct p2p_data *p2p, int success)
                return;
        }
        p2p_set_state(p2p, P2P_CONNECT);
+#ifdef ANDROID_P2P
+       p2p_set_timeout(p2p, 0, 350000);
+#else
        p2p_set_timeout(p2p, 0, 250000);
+#endif
 }
 
 
index 769e57b..7bf6600 100644 (file)
@@ -506,7 +506,11 @@ void p2p_invitation_req_cb(struct p2p_data *p2p, int success)
         * channel.
         */
        p2p_set_state(p2p, P2P_INVITE);
+#ifdef ANDROID_P2P
+       p2p_set_timeout(p2p, 0, 350000);
+#else
        p2p_set_timeout(p2p, 0, 100000);
+#endif
 }