wlan: Fix possible kw issue in tdls functionality
Fix possible kw issue in wlan_hdd_tdls_add_station to avoid
NULL dereference
Change-Id: I281b3b3ba9f710b0773cc6132ad853e232ca827c
CRs-Fixed: 963834
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 353e9e5..b73798d 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -10860,17 +10860,24 @@
mutex_lock(&pHddCtx->tdls_lock);
pTdlsPeer = wlan_hdd_tdls_find_peer(pAdapter, mac, FALSE);
- if (ret <= 0 || ((pTdlsPeer != NULL) &&
- (pTdlsPeer->link_status == eTDLS_LINK_TEARING)))
+ if ((pTdlsPeer != NULL) &&
+ (pTdlsPeer->link_status == eTDLS_LINK_TEARING))
{
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
- "%s: timeout waiting for tdls add station indication %ld peer link status %u",
- __func__, ret, pTdlsPeer->link_status);
- mutex_unlock(&pHddCtx->tdls_lock);
- goto error;
+ hddLog(VOS_TRACE_LEVEL_ERROR,
+ FL("peer link status %u"), pTdlsPeer->link_status);
+ mutex_unlock(&pHddCtx->tdls_lock);
+ goto error;
}
mutex_unlock(&pHddCtx->tdls_lock);
+ if (ret <= 0)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+ "%s: timeout waiting for tdls add station indication %ld",
+ __func__, ret);
+ goto error;
+ }
+
if ( eHAL_STATUS_SUCCESS != pAdapter->tdlsAddStaStatus)
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,