TDLS: Abort local setup when failing to add STA
authorArik Nemtsov <arik@wizery.com>
Wed, 25 Jun 2014 14:41:54 +0000 (17:41 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 29 Jun 2014 10:44:14 +0000 (13:44 +0300)
The driver might not always be able to add the new station. Abort the
setup when this happens.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
src/rsn_supp/tdls.c

index c1d0c62..2a6ecc6 100644 (file)
@@ -2527,8 +2527,11 @@ int wpa_tdls_start(struct wpa_sm *sm, const u8 *addr)
        peer->initiator = 1;
 
        /* add the peer to the driver as a "setup in progress" peer */
-       wpa_sm_tdls_peer_addset(sm, peer->addr, 1, 0, 0, NULL, 0, NULL, NULL, 0,
-                               NULL, 0, NULL, 0, NULL, 0);
+       if (wpa_sm_tdls_peer_addset(sm, peer->addr, 1, 0, 0, NULL, 0, NULL,
+                                   NULL, 0, NULL, 0, NULL, 0, NULL, 0)) {
+               wpa_tdls_disable_peer_link(sm, peer);
+               return -1;
+       }
 
        peer->tpk_in_progress = 1;