P2P: Ignore Tx acknowledgment status for Invitation Response
authorVivek Natarajan <nataraja@qca.qualcomm.com>
Mon, 25 Mar 2013 22:28:56 +0000 (00:28 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 25 Mar 2013 22:28:56 +0000 (00:28 +0200)
In some cases where the ack for Invitation response is lost,
the device is stuck in invited state but the peer device starts
GO. In line with the implementation of Negotiation Confirm,
assume invitation response was actually received by the peer
even though ack was not reported.

Signed-hostap: Vivek Natarajan <nataraja@qca.qualcomm.com>

src/p2p/p2p_invitation.c

index 6452ca2..cc834d2 100644 (file)
@@ -543,7 +543,13 @@ void p2p_invitation_resp_cb(struct p2p_data *p2p, int success)
                "P2P: Invitation Response TX callback: success=%d", success);
        p2p->cfg->send_action_done(p2p->cfg->cb_ctx);
 
-       if (success && p2p->cfg->invitation_received) {
+       if (!success)
+               wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG,
+                       "P2P: Assume Invitation Response was actually "
+                       "received by the peer even though Ack was not "
+                       "reported");
+
+       if (p2p->cfg->invitation_received) {
                p2p->cfg->invitation_received(p2p->cfg->cb_ctx,
                                              p2p->inv_sa,
                                              p2p->inv_group_bssid_ptr,