P2P: Fix PD retries on delay in off channel transmission
authorSunil Dutt <duttus@codeaurora.org>
Fri, 24 Aug 2012 08:54:02 +0000 (11:54 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 24 Aug 2012 08:54:02 +0000 (11:54 +0300)
Commit 488f4a7108e021be97fc1841fff9042d2b7d737f configures a timer
before p2p_send_action(). This may result in the timer getting fired
earlier to the off channel transmission of the frame and thus another PD
request being retransmitted. This shall lead to the new PD request with
an incremented dialog token being transmitted. For the cases where the
later PD request might not be transmitted as the host driver is busy
transmitting the earlier frame, the received PD response could be
dropped for the dialog token mismatch. Remove the timer configuration to
avoid this behavior.

Signed-hostap: Sunil Dutt Undekari <duttus@codeaurora.org>
intended-for: hostap-1

src/p2p/p2p_pd.c

index 4be7098..f391ff7 100644 (file)
@@ -347,7 +347,6 @@ int p2p_send_prov_disc_req(struct p2p_data *p2p, struct p2p_device *dev,
        if (p2p->state != P2P_IDLE)
                p2p_stop_listen_for_freq(p2p, freq);
        p2p->pending_action_state = P2P_PENDING_PD;
-       p2p_set_timeout(p2p, 0, 300000);
        if (p2p_send_action(p2p, freq, dev->info.p2p_device_addr,
                            p2p->cfg->dev_addr, dev->info.p2p_device_addr,
                            wpabuf_head(req), wpabuf_len(req), 200) < 0) {