void limProcessDeauthFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, tpPESession psessionEntry) { tANI_U8 *pBody; tANI_U16 aid, reasonCode; tpSirMacMgmtHdr pHdr; tLimMlmAssocCnf mlmAssocCnf; tLimMlmDeauthInd mlmDeauthInd; tpDphHashNode pStaDs; tpPESession pRoamSessionEntry=NULL; tANI_U8 roamSessionId; #ifdef WLAN_FEATURE_11W tANI_U32 frameLen; #endif int8_t frame_rssi; pHdr = WDA_GET_RX_MAC_HEADER(pRxPacketInfo); pBody = WDA_GET_RX_MPDU_DATA(pRxPacketInfo); frame_rssi = (int8_t)WDA_GET_RX_RSSI_NORMALIZED(pRxPacketInfo); if (LIM_IS_STA_ROLE(psessionEntry) && ((eLIM_SME_WT_DISASSOC_STATE == psessionEntry->limSmeState) || (eLIM_SME_WT_DEAUTH_STATE == psessionEntry->limSmeState))) { /*Every 15th deauth frame will be logged in kmsg*/ if(!(pMac->lim.deauthMsgCnt & 0xF)) { PELOGE(limLog(pMac, LOGE, FL("received Deauth frame in DEAUTH_WT_STATE" "(already processing previously received DEAUTH frame).." "Dropping this.. Deauth Failed %d"),++pMac->lim.deauthMsgCnt);) } else {
void limInitPeerIdxpool(tpAniSirGlobal pMac,tpPESession pSessionEntry) { tANI_U8 i; tANI_U8 maxAssocSta = pMac->lim.gLimAssocStaLimit; pSessionEntry->gpLimPeerIdxpool[0]=0; #ifdef FEATURE_WLAN_TDLS //In station role, DPH_STA_HASH_INDEX_PEER (index 1) is reserved for peer //station index corresponding to AP. Avoid choosing that index and get index //starting from (DPH_STA_HASH_INDEX_PEER + 1) (index 2) for TDLS stations; if (LIM_IS_STA_ROLE(pSessionEntry)) { pSessionEntry->freePeerIdxHead = DPH_STA_HASH_INDEX_PEER + 1; } else #endif #ifdef QCA_IBSS_SUPPORT if (LIM_IS_IBSS_ROLE(pSessionEntry)) { pSessionEntry->freePeerIdxHead=LIM_START_PEER_IDX; maxAssocSta = pMac->lim.gLimIbssStaLimit; } else #endif { pSessionEntry->freePeerIdxHead=LIM_START_PEER_IDX; } for (i=pSessionEntry->freePeerIdxHead;i<maxAssocSta; i++) { pSessionEntry->gpLimPeerIdxpool[i] = i+1; } pSessionEntry->gpLimPeerIdxpool[i] = 0; pSessionEntry->freePeerIdxTail=i; }