TDLS: Do not send error case of TPK M3 if TX fails
authorSunil Dutt <usdutt@qti.qualcomm.com>
Tue, 20 Oct 2015 04:20:51 +0000 (09:50 +0530)
committerJouni Malinen <j@w1.fi>
Mon, 26 Oct 2015 20:54:39 +0000 (22:54 +0200)
There is no point in sending TPK M3 (TDLS Setup Confirm) with a failure
status if the first transmission attempt fails. Instead, just return a
failure by disabling the link rather than retransmitting the TPK M3
frame with an error status.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/rsn_supp/tdls.c

index 2b47ff8..48752d7 100644 (file)
@@ -2392,7 +2392,7 @@ skip_rsn:
        wpa_printf(MSG_DEBUG, "TDLS: Sending TDLS Setup Confirm / "
                   "TPK Handshake Message 3");
        if (wpa_tdls_send_tpk_m3(sm, src_addr, dtoken, lnkid, peer) < 0)
-               goto error;
+               goto error_no_msg;
 
        if (!peer->tpk_success) {
                /*
@@ -2413,6 +2413,7 @@ skip_rsn:
 error:
        wpa_tdls_send_error(sm, src_addr, WLAN_TDLS_SETUP_CONFIRM, dtoken, 1,
                            status);
+error_no_msg:
        wpa_tdls_disable_peer_link(sm, peer);
        return -1;
 }