Revert "wlan: Fix ULA Logic to remove EAPOL 4/4 race-condition."

This reverts commit c168d8688fc7ecec763e90f1d4706d0cb1a2e593

Change-Id: I504832774b6c6173a128cc597db8fd7304d7eeb8
CRs-Fixed: 834793
diff --git a/CORE/HDD/inc/wlan_hdd_tx_rx.h b/CORE/HDD/inc/wlan_hdd_tx_rx.h
index 95b3eae..7f2ced6 100644
--- a/CORE/HDD/inc/wlan_hdd_tx_rx.h
+++ b/CORE/HDD/inc/wlan_hdd_tx_rx.h
@@ -49,14 +49,6 @@
 #define HDD_ETHERTYPE_802_1_X              ( 0x888E )
 #define HDD_ETHERTYPE_802_1_X_FRAME_OFFSET ( 12 )
 #define HDD_ETHERTYPE_802_1_X_SIZE         ( 2 )
-
-#define HDD_ETHERTYPE_802_1_X_FRAME_SUB_TYPE_OFFSET ( 19 )
-#define HDD_ETHERTYPE_802_1_X_SUB_TYPE_MASK ( 0x8003 )
-#define HDD_ETHERTYPE_802_1_X_M1_VALUE      ( 0x8000 )
-#define HDD_ETHERTYPE_802_1_X_M2_VALUE      ( 0x0001 )
-#define HDD_ETHERTYPE_802_1_X_M3_VALUE      ( 0x8003 )
-#define HDD_ETHERTYPE_802_1_X_M4_VALUE      ( 0x0003 )
-
 #ifdef FEATURE_WLAN_WAPI
 #define HDD_ETHERTYPE_WAI                  ( 0x88b4 )
 #endif
@@ -325,14 +317,6 @@
 extern v_BOOL_t hdd_IsEAPOLPacket( vos_pkt_t *pVosPacket );
 
 /**============================================================================
-  @brief hdd_FindEapolSubType() - Find EAPOL SubType.
-
-  @param pVosPacket : [in] pointer to vos packet
-  @return         : EAPOL_SubType value
-  ===========================================================================*/
-extern EAPOL_SubType hdd_FindEapolSubType( vos_pkt_t *pVosPacket );
-
-/**============================================================================
   @brief hdd_mon_tx_mgmt_pkt() - Transmit MGMT packet received on monitor 
                                  interface.
 
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 21a451b..9946451 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -8998,6 +8998,21 @@
         pHostapdState = WLAN_HDD_GET_HOSTAP_STATE_PTR(pAdapter);
         if( pHostapdState->bssState == BSS_START )
         {
+            hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
+            vos_status = wlan_hdd_check_ula_done(pAdapter);
+
+            if ( vos_status != VOS_STATUS_SUCCESS )
+            {
+                VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+                        "[%4d] wlan_hdd_check_ula_done returned ERROR status= %d",
+                        __LINE__, vos_status );
+
+                pHddStaCtx->roam_info.roamingState = HDD_ROAM_STATE_NONE;
+
+                status = -EINVAL;
+                goto end;
+            }
+
             status = WLANSAP_SetKeySta( pVosContext, &setKey);
 
             if ( status != eHAL_STATUS_SUCCESS )
@@ -9065,36 +9080,19 @@
                 setKey.peerMac[4], setKey.peerMac[5],
                 setKey.keyDirection);
 
-        /* Wait for EAPOL M4 before setting key.
-         * No need to consider Dynamic WEP as we will receive M8.
-         */
-        if ( (setKey.encType == eCSR_ENCRYPT_TYPE_AES ||
-             setKey.encType == eCSR_ENCRYPT_TYPE_TKIP) &&
-             ( 1
-#if defined WLAN_FEATURE_VOWIFI_11R
-               && pHddStaCtx->conn_info.authType != eCSR_AUTH_TYPE_FT_RSN
-               && pHddStaCtx->conn_info.authType != eCSR_AUTH_TYPE_FT_RSN_PSK
-#endif
-#ifdef FEATURE_WLAN_ESE
-               && pHddStaCtx->conn_info.authType != eCSR_AUTH_TYPE_CCKM_WPA
-               && pHddStaCtx->conn_info.authType != eCSR_AUTH_TYPE_CCKM_RSN
-#endif
-               ))
-        {
-            vos_status = wlan_hdd_check_ula_done(pAdapter);
+        vos_status = wlan_hdd_check_ula_done(pAdapter);
 
-            if ( vos_status != VOS_STATUS_SUCCESS )
-            {
-               VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+        if ( vos_status != VOS_STATUS_SUCCESS )
+        {
+            VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
                     "[%4d] wlan_hdd_check_ula_done returned ERROR status= %d",
                     __LINE__, vos_status );
 
-               pHddStaCtx->roam_info.roamingState = HDD_ROAM_STATE_NONE;
+            pHddStaCtx->roam_info.roamingState = HDD_ROAM_STATE_NONE;
 
-               status = -EINVAL;
-               goto end;
+            status = -EINVAL;
+            goto end;
 
-            }
         }
 
 #ifdef WLAN_FEATURE_VOWIFI_11R
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index 2d407b8..7ca0a4f 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -1358,7 +1358,6 @@
          VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO_HIGH,
                     "%s: VOS packet is EAPOL packet", __func__);
          pPktMetaInfo->ucIsEapol = 1;
-         pPktMetaInfo->ucEapolSubType = hdd_FindEapolSubType(pVosPacket);
       }
    }
  
@@ -1370,7 +1369,7 @@
       if (VOS_PKT_PROTO_TYPE_EAPOL & proto_type)
       {
          VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
-                   "SAP TX EAPOL SubType %d",pPktMetaInfo->ucEapolSubType);
+                   "SAP TX EAPOL");
       }
       else if (VOS_PKT_PROTO_TYPE_DHCP & proto_type)
       {
@@ -1527,7 +1526,6 @@
    vos_pkt_t* pNextVosPacket;   
    hdd_context_t *pHddCtx = NULL;   
    v_U8_t proto_type;
-   EAPOL_SubType eapolSubType = EAPOL_UNKNOWN;
 
    //Sanity check on inputs
    if ( ( NULL == vosContext ) || 
@@ -1595,12 +1593,6 @@
          return VOS_STATUS_E_FAILURE;
       }
 
-      if (pHddCtx->cfg_ini->gEnableDebugLog)
-      {
-         if(hdd_IsEAPOLPacket(pVosPacket))
-            eapolSubType = hdd_FindEapolSubType(pVosPacket);
-      }
-
       // Extract the OS packet (skb).
       // Tell VOS to detach the OS packet from the VOS packet
       status = vos_pkt_get_os_packet( pVosPacket, (v_VOID_t **)&skb, VOS_TRUE );
@@ -1633,7 +1625,7 @@
          if (VOS_PKT_PROTO_TYPE_EAPOL & proto_type)
          {
             VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
-                      "SAP RX EAPOL SubType %d",eapolSubType);
+                      "SAP RX EAPOL");
          }
          else if (VOS_PKT_PROTO_TYPE_DHCP & proto_type)
          {
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index 489026b..c42131a 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -1110,7 +1110,6 @@
    }
 
    if ( (granted && ( pktListSize == 1 )) ||
-        (pHddStaCtx->conn_info.uIsAuthenticated == VOS_FALSE) ||
         (qid == WLANTL_AC_HIGH_PRIO))
    {
       //Let TL know we have a packet to send for this AC
@@ -1596,50 +1595,6 @@
 }
 
 /**============================================================================
-  @brief hdd_FindEapolSubType() - Find EAPOL SubType.
-
-  @param pVosPacket : [in] pointer to vos packet
-  @return         : EAPOL_SubType value
-  ===========================================================================*/
-EAPOL_SubType hdd_FindEapolSubType( vos_pkt_t *pVosPacket )
-{
-    VOS_STATUS vosStatus  = VOS_STATUS_SUCCESS;
-    void       *pBuffer   = NULL;
-    EAPOL_SubType   subType = EAPOL_UNKNOWN;
-    v_U16_t   keyInfo;
-    vosStatus = vos_pkt_peek_data( pVosPacket,
-                         (v_SIZE_t)HDD_ETHERTYPE_802_1_X_FRAME_SUB_TYPE_OFFSET,
-                         &pBuffer, HDD_ETHERTYPE_802_1_X_SIZE );
-    if ( VOS_IS_STATUS_SUCCESS( vosStatus ) )
-    {
-       if ( pBuffer )
-       {
-          keyInfo = (*(unsigned short*)pBuffer &
-                         HDD_ETHERTYPE_802_1_X_SUB_TYPE_MASK);
-
-          switch (keyInfo) {
-            case HDD_ETHERTYPE_802_1_X_M1_VALUE:
-                 subType = EAPOL_M1;
-                 break;
-            case HDD_ETHERTYPE_802_1_X_M2_VALUE:
-                 subType = EAPOL_M2;
-                 break;
-            case HDD_ETHERTYPE_802_1_X_M3_VALUE:
-                 subType = EAPOL_M3;
-                 break;
-            case HDD_ETHERTYPE_802_1_X_M4_VALUE:
-                 subType = EAPOL_M4;
-                 break;
-            default:
-                 break;
-         }
-       }
-    }
-
-   return subType;
-}
-
-/**============================================================================
   @brief hdd_IsARP() - Checks the packet is ARP or not.
 
   @param pVosPacket : [in] pointer to vos packet
@@ -2248,11 +2203,7 @@
    if(pAdapter->sessionCtx.station.conn_info.uIsAuthenticated == VOS_TRUE)
       pPktMetaInfo->ucIsEapol = 0;       
    else
-   {
       pPktMetaInfo->ucIsEapol = hdd_IsEAPOLPacket( pVosPacket ) ? 1 : 0;
-      if(pPktMetaInfo->ucIsEapol)
-         pPktMetaInfo->ucEapolSubType = hdd_FindEapolSubType( pVosPacket );
-   }
 
    if ((NULL != pHddCtx) &&
        (pHddCtx->cfg_ini->gEnableDebugLog))
@@ -2262,7 +2213,7 @@
       if (VOS_PKT_PROTO_TYPE_EAPOL & proto_type)
       {
          VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
-                   "STA TX EAPOL SubType %d",pPktMetaInfo->ucEapolSubType);
+                   "STA TX EAPOL");
       }
       else if (VOS_PKT_PROTO_TYPE_DHCP & proto_type)
       {
@@ -2514,7 +2465,6 @@
    vos_pkt_t* pVosPacket;
    vos_pkt_t* pNextVosPacket;
    v_U8_t proto_type;
-   EAPOL_SubType eapolSubType = EAPOL_UNKNOWN;
 
    //Sanity check on inputs
    if ( ( NULL == vosContext ) || 
@@ -2561,12 +2511,6 @@
          return VOS_STATUS_E_FAILURE;
       }
 
-      if (pHddCtx->cfg_ini->gEnableDebugLog)
-      {
-         if (hdd_IsEAPOLPacket(pVosPacket))
-             eapolSubType = hdd_FindEapolSubType(pVosPacket);
-      }
-
       // Extract the OS packet (skb).
       // Tell VOS to detach the OS packet from the VOS packet
       status = vos_pkt_get_os_packet( pVosPacket, (v_VOID_t **)&skb, VOS_TRUE );
@@ -2625,7 +2569,7 @@
          if (VOS_PKT_PROTO_TYPE_EAPOL & proto_type)
          {
             VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
-                      "STA RX EAPOL SubType %d",eapolSubType);
+                      "STA RX EAPOL");
          }
          else if (VOS_PKT_PROTO_TYPE_DHCP & proto_type)
          {
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index b093bc5..ad3f521 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -1427,15 +1427,9 @@
         /*To avoid race condition between the set key and the last EAPOL
           packet, notify TL to finish upper layer authentication incase if the
           last EAPOL packet pending in the TL queue.*/
-        vos_status = WLANTL_Finish_ULA(wlan_hdd_ula_done_cb, pAdapter,
-                        (WLAN_HDD_GET_CTX(pAdapter))->pvosContext,
-                        pHddStaCtx->conn_info.staId[0]);
+        vos_status = WLANTL_Finish_ULA(wlan_hdd_ula_done_cb, pAdapter);
 
-        if ( vos_status == VOS_STATUS_E_ALREADY )
-        {
-            return VOS_STATUS_SUCCESS;
-        }
-        else if ( vos_status != VOS_STATUS_SUCCESS )
+        if ( vos_status != VOS_STATUS_SUCCESS )
         {
             VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
                    "[%4d] WLANTL_Finish_ULA returned ERROR status= %d",
diff --git a/CORE/TL/inc/wlan_qct_tl.h b/CORE/TL/inc/wlan_qct_tl.h
index 034e058..0a24b5a 100644
--- a/CORE/TL/inc/wlan_qct_tl.h
+++ b/CORE/TL/inc/wlan_qct_tl.h
@@ -402,18 +402,6 @@
 }WLANTL_STAPriorityType;
 
 /*---------------------------------------------------------------------------
-  EAPOL SUB TYPE
----------------------------------------------------------------------------*/
-typedef enum
-{
-  EAPOL_UNKNOWN  = 0,
-  EAPOL_M1,
-  EAPOL_M2,
-  EAPOL_M3,
-  EAPOL_M4
-}EAPOL_SubType;
-
-/*---------------------------------------------------------------------------
   Meta information requested from HDD by TL 
 ---------------------------------------------------------------------------*/      
 typedef struct
@@ -429,10 +417,6 @@
 
   /* notifying TL if this is an EAPOL frame or not */
   v_U8_t    ucIsEapol;
-
-  /* Store Eapol Subtype */
-  EAPOL_SubType    ucEapolSubType;
-
 #ifdef FEATURE_WLAN_WAPI
   /* notifying TL if this is a WAI frame or not */
   v_U8_t    ucIsWai;
@@ -709,22 +693,6 @@
 
 /*----------------------------------------------------------------------------
 
-  DESCRIPTION
-    ULA callback registered with TL.
-    It is called by the TL when it receives EAPOL 4/4.
-
-
-  PARAMETERS
-
-    IN
-    callbackCtx:    padapter context used in callback.
-
-----------------------------------------------------------------------------*/
-
-typedef VOS_STATUS (*WLANTL_STAUlaCompleteCBType)( v_PVOID_t callbackCtx );
-
-/*----------------------------------------------------------------------------
-
   DESCRIPTION   
     Type of the receive callback registered with TL. 
     
@@ -2936,8 +2904,8 @@
   FUNCTION    WLANTL_Finish_ULA
 
   DESCRIPTION
-     This function is used by HDD to notify TL to finish Upper layer
-     authentication incase the last EAPOL packet is pending in the TL queue.
+     This function is used by HDD to notify TL to finish Upper layer authentication
+     incase the last EAPOL packet is pending in the TL queue.
      To avoid the race condition between sme set key and the last EAPOL packet
      the HDD module calls this function just before calling the sme_RoamSetKey.
 
@@ -2960,9 +2928,7 @@
 ============================================================================*/
 
 VOS_STATUS WLANTL_Finish_ULA( void (*callbackRoutine) (void *callbackContext),
-                              void *callbackContext,
-                              v_PVOID_t pvosGCtx,
-                              v_U8_t ucSTAId);
+                              void *callbackContext);
 
 /*===============================================================================
   FUNCTION       WLANTL_UpdateRssiBmps
diff --git a/CORE/TL/src/wlan_qct_tl.c b/CORE/TL/src/wlan_qct_tl.c
index 34526c2..cb57a59 100644
--- a/CORE/TL/src/wlan_qct_tl.c
+++ b/CORE/TL/src/wlan_qct_tl.c
@@ -1084,7 +1084,7 @@
   }
 }
 
-/*===========================================================================
+  /*===========================================================================
 
   FUNCTION  WLANTL_Finish_ULA
 
@@ -1100,10 +1100,8 @@
 
   PARAMETERS
 
-   callbackRoutine: HDD Callback function.
-   callbackContext: HDD userdata context.
-   pvosGCtx       : VOS Context
-   ucSTAId        : STA ID
+   callbackRoutine:   HDD Callback function.
+   callbackContext : HDD userdata context.
 
    RETURN VALUE
 
@@ -1114,56 +1112,12 @@
 ============================================================================*/
 
 VOS_STATUS WLANTL_Finish_ULA( void (*callbackRoutine) (void *callbackContext),
-                                      void *callbackContext,
-                                      v_PVOID_t pvosGCtx,
-                                      v_U8_t ucSTAId)
+                              void *callbackContext)
 {
-  WLANTL_CbType* pTLCb = NULL;
-  WLANTL_STAClientType* pClientSTA = NULL;
-
-  /*------------------------------------------------------------------------
-      Sanity check
-   ------------------------------------------------------------------------*/
-  if ( WLANTL_STA_ID_INVALID( ucSTAId ) )
-  {
-     TLLOGE(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
-            "WLAN TL:Invalid station id requested on WLANTL_Finish_ULA"));
-     return VOS_STATUS_E_FAULT;
-  }
-
-  /*------------------------------------------------------------------------
-     Extract TL control block and check existance
-    ------------------------------------------------------------------------*/
-  pTLCb = VOS_GET_TL_CB(pvosGCtx);
-  if ( NULL == pTLCb )
-  {
-    TLLOGE(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
-           "WLAN TL:Invalid TL pointer from pvosGCtx on WLANTL_Finish_ULA"));
-    return VOS_STATUS_E_FAULT;
-  }
-
-  pClientSTA = pTLCb->atlSTAClients[ucSTAId];
-  if ( NULL == pClientSTA )
-  {
-    TLLOGE(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
-           "WLAN TL:Client Memory was not allocated on %s", __func__));
-    return VOS_STATUS_E_FAILURE;
-  }
-
-  if (pClientSTA->isEapolM4Transmitted ||
-      pClientSTA->tlState == WLANTL_STA_AUTHENTICATED)
-  {
-    TLLOGE(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO,
-           "WLAN TL: M4 is already received on %s", __func__));
-    return VOS_STATUS_E_ALREADY;
-  }
-
-  pClientSTA->pfnSTAUlaComplete = (WLANTL_STAUlaCompleteCBType) callbackRoutine;
-  pClientSTA->pUlaCBCtx = callbackContext;
-
-  return VOS_STATUS_SUCCESS;
+   return WDA_DS_FinishULA( callbackRoutine, callbackContext);
 }
 
+
 /*===========================================================================
 
   FUNCTION    WLANTL_RegisterSTAClient
@@ -1293,9 +1247,6 @@
   pClientSTA->pfnSTARx       = pfnSTARx;
   pClientSTA->pfnSTAFetchPkt = pfnSTAFetchPkt;
 
-  pClientSTA->pfnSTAUlaComplete = NULL;
-  pClientSTA->pUlaCBCtx         = NULL;
-
   /* Only register if different from NULL - TL default Tx Comp Cb will
     release the vos packet */
   if ( NULL != pfnSTATxComp )
@@ -1307,7 +1258,6 @@
   pClientSTA->tlPri    = WLANTL_STA_PRI_NORMAL;
   pClientSTA->wSTADesc.ucSTAId  = pwSTADescType->ucSTAId;
   pClientSTA->ptkInstalled = 0;
-  pClientSTA->isEapolM4Transmitted = 0;
 
   TLLOG2(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO_HIGH,
              "WLAN TL:Registering STA Client ID: %d with UC %d and BC %d", 
@@ -2122,7 +2072,6 @@
 {
   WLANTL_CbType*  pTLCb = NULL;
   WLANTL_STAClientType* pClientSTA = NULL;
-  v_U32_t     uMgmtAvailRes = 0;
   /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
 
   VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO,
@@ -2186,9 +2135,6 @@
     VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO_HIGH,
       "WLAN TL:Packet pending indication for STA: %d AC: %d State: %d", 
                ucSTAId, ucAc, pClientSTA->tlState);
-
-    uMgmtAvailRes = WDA_DS_GetAvailableResCount(pvosGCtx,
-                                              WDI_MGMT_POOL_ID);
   }
 
   /*-----------------------------------------------------------------------
@@ -2211,10 +2157,8 @@
         Check if there are enough resources for transmission and tx is not
         suspended.
         ------------------------------------------------------------------------*/
-       if ((( pTLCb->uResCount >=  WDA_TLI_MIN_RES_DATA ) &&
-           ( 0 == pTLCb->ucTxSuspended )) ||
-           (pClientSTA->ucEapolPktPending &&
-            uMgmtAvailRes >= WDA_TLI_MIN_RES_MF))
+       if (( pTLCb->uResCount >=  WDA_TLI_MIN_RES_DATA ) &&
+          ( 0 == pTLCb->ucTxSuspended ))
       {
 
         TLLOG2(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO_HIGH,
@@ -7645,18 +7589,6 @@
     return vosStatus;
   }
 
-
-
-  // call ULA complete once M4 BD is filled.
-  if (tlMetaInfo.ucEapolSubType == EAPOL_M4)
-  {
-     pClientSTA->isEapolM4Transmitted = 1;
-     if (pClientSTA->pfnSTAUlaComplete)
-         pClientSTA->pfnSTAUlaComplete(pClientSTA->pUlaCBCtx);
-     pClientSTA->pfnSTAUlaComplete = NULL;
-     pClientSTA->pUlaCBCtx = NULL;
-  }
-
   /*-----------------------------------------------------------------------
     Update tx counter for BA session query for tx side
     !1 - should this be done for EAPOL frames?
@@ -11553,10 +11485,6 @@
   ptlSTAClient->wSTADesc.ucSwFrameRXXlation = 0;
   ptlSTAClient->wSTADesc.ucProtectedFrame = 0;
 
-  ptlSTAClient->pfnSTAUlaComplete = NULL;
-  ptlSTAClient->pUlaCBCtx = NULL;
-  ptlSTAClient->isEapolM4Transmitted = 0;
-
   /*-------------------------------------------------------------------------
     AMSDU information for the STA
    -------------------------------------------------------------------------*/
diff --git a/CORE/TL/src/wlan_qct_tli.h b/CORE/TL/src/wlan_qct_tli.h
index 93794d2..220fbd2 100644
--- a/CORE/TL/src/wlan_qct_tli.h
+++ b/CORE/TL/src/wlan_qct_tli.h
@@ -519,12 +519,6 @@
   /* Function pointer to the packet retrieval routine in HDD */
   WLANTL_STAFetchPktCBType      pfnSTAFetchPkt;
 
-  /* Function pointer holding ULA complete CB routine registered by HDD */
-  WLANTL_STAUlaCompleteCBType   pfnSTAUlaComplete;
-
-  /* HDD Context used in ULA complete CB routine  */
-  v_PVOID_t                     pUlaCBCtx;
-
   /* Reordering information for the STA */
   WLANTL_BAReorderType          atlBAReorderInfo[WLAN_MAX_TID];
 
@@ -686,9 +680,6 @@
     state (CONNECTED/AUTHENTICATED) */
   v_U8_t ptkInstalled;
 
-  /* Flag to check EAPOL 4/4 recevied by TL*/
-  v_U8_t isEapolM4Transmitted;
-
   v_U32_t       linkCapacity;
 
 #ifdef WLAN_FEATURE_LINK_LAYER_STATS
diff --git a/CORE/WDA/inc/wlan_qct_wda.h b/CORE/WDA/inc/wlan_qct_wda.h
index 71def4f..b5aba85 100644
--- a/CORE/WDA/inc/wlan_qct_wda.h
+++ b/CORE/WDA/inc/wlan_qct_wda.h
@@ -1919,32 +1919,6 @@
 );
 
 /*==========================================================================
-   FUNCTION    WDA_DS_GetAvailableResCount
-
-  DESCRIPTION
-  It returns Available resource count for appropriate Pool Type
-
-  DEPENDENCIES
-
-  PARAMETERS
-
-   IN
-    pvosGCtx          vos context
-    wdiResPool       Pool Type
-
-  RETURN VALUE
-    Available resource count
-
-============================================================================*/
-uint32
-WDA_DS_GetAvailableResCount
-(
-  v_PVOID_t pvosGCtx,
-  WDI_ResPoolType wdiResPool
-);
-
-
-/*==========================================================================
    FUNCTION    WDA_HALDumpCmdReq
 
   DESCRIPTION
diff --git a/CORE/WDA/src/wlan_qct_wda_ds.c b/CORE/WDA/src/wlan_qct_wda_ds.c
index 716efa1..f57b18c 100644
--- a/CORE/WDA/src/wlan_qct_wda_ds.c
+++ b/CORE/WDA/src/wlan_qct_wda_ds.c
@@ -1209,40 +1209,3 @@
 
   wdaContext->pfnTxCompleteCallback( pvosGCtx, pFrameDataBuff, vosStatus );
 }
-
-/*==========================================================================
-   FUNCTION    WDA_DS_GetAvailableResCount
-
-  DESCRIPTION
-  It returns Available resource count for appropriate Pool Type
-
-  DEPENDENCIES
-
-  PARAMETERS
-
-   IN
-    pvosGCtx          vos context
-    wdiResPool       Pool Type
-
-  RETURN VALUE
-    Available resource count
-
-============================================================================*/
-uint32
-WDA_DS_GetAvailableResCount
-(
-  v_PVOID_t pvosGCtx,
-  WDI_ResPoolType wdiResPool
-)
-{
-  tWDA_CbContext *wdaContext = NULL;
-  wdaContext = (tWDA_CbContext *)vos_get_context(VOS_MODULE_ID_WDA, pvosGCtx);
-  if ( NULL == wdaContext )
-  {
-       VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
-           "WDA:Invalid wda context pointer from pvosGCtx on WDA_DS_GetAvailableResCount" );
-       return 0;
-  }
-  return WDI_GetAvailableResCount(wdaContext->pWdiContext,wdiResPool);
-}
-