Fix for the tdls mutiple peer instability issues
Send the correct staIdx as assigned during tdls add sta from
lim -> wdi -> firmware when tdls change sta is called to update
the capabilities.
Add a wait for tdls del sta to complete.
Don't deregister tdls station from TL if it's not registered.
Introduce a new state i.e. eTDLS_LINK_TEARING and change the
link state to tearing while sending teardown indication to
supplicant.
CRs-Fixed: 468574
Change-Id: I59d0d08a6362077f331f87240e8e1d7240e5b430
diff --git a/CORE/HDD/inc/wlan_hdd_tdls.h b/CORE/HDD/inc/wlan_hdd_tdls.h
index 04059cb..ac3ca96 100644
--- a/CORE/HDD/inc/wlan_hdd_tdls.h
+++ b/CORE/HDD/inc/wlan_hdd_tdls.h
@@ -53,6 +53,9 @@
#define TDLS_MAX_SCAN_SCHEDULE 10
#define TDLS_DELAY_SCAN_PER_CONNECTION 100
+#define TDLS_IS_CONNECTED(peer) \
+ ((eTDLS_LINK_CONNECTED == (peer)->link_status) || \
+ (eTDLS_LINK_TEARING == (peer)->link_status))
typedef struct
{
tANI_U32 tdls;
@@ -98,6 +101,7 @@
eTDLS_LINK_DISCOVERED,
eTDLS_LINK_CONNECTING,
eTDLS_LINK_CONNECTED,
+ eTDLS_LINK_TEARING,
} tTDLSLinkStatus;
typedef struct {
@@ -243,5 +247,9 @@
void wlan_hdd_tdls_timer_restart(hdd_adapter_t *pAdapter,
vos_timer_t *timer,
v_U32_t expirationTime);
+void wlan_hdd_tdls_indicate_teardown(hdd_adapter_t *pAdapter,
+ hddTdlsPeer_t *curr_peer,
+ tANI_U16 reason);
+
#endif // __HDD_TDSL_H