Browse Source

TDLS: Disable previous link to fix renegotiation

Jouni Malinen 13 years ago
parent
commit
db9af0da70
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/rsn_supp/tdls.c

+ 8 - 0
src/rsn_supp/tdls.c

@@ -2106,6 +2106,14 @@ int wpa_tdls_reneg(struct wpa_sm *sm, const u8 *addr)
 	if (peer == NULL || !peer->tpk_success)
 		return -1;
 
+	if (sm->tdls_external_setup) {
+		/*
+		 * Disable previous link to allow renegotiation to be completed
+		 * on AP path.
+		 */
+		wpa_sm_tdls_oper(sm, TDLS_DISABLE_LINK, peer->addr);
+	}
+
 	return wpa_tdls_start(sm, addr);
 }