/*----------------------------------------------------------------------------*/ VOID secPrivacyFreeSta ( IN P_ADAPTER_T prAdapter, IN P_STA_RECORD_T prStaRec ) { UINT_32 entry; P_WLAN_TABLE_T prWtbl; if (!prStaRec) return; prWtbl = prAdapter->rWifiVar.arWtbl; prStaRec->ucWlanIndex = WTBL_RESERVED_ENTRY; prStaRec->ucBMCWlanIndex = WTBL_RESERVED_ENTRY; if ((IS_ADHOC_STA(prStaRec) || IS_STA_IN_AIS(prStaRec)) /* && prStaRec->ucBMCWlanIndex < WTBL_SIZE */) { for (entry = 0; entry < WTBL_SIZE; entry++) { if (prWtbl[entry].ucUsed && EQUAL_MAC_ADDR(prStaRec->aucMacAddr, prWtbl[entry].aucMacAddr)) { secPrivacyFreeForEntry(prAdapter, entry); #if DBG DBGLOG(RSN, TRACE, ("Free the STA entry (%lu)!\n", entry)); #endif } } } }
/*----------------------------------------------------------------------------*/ VOID secPrivacyFreeSta ( IN P_ADAPTER_T prAdapter, IN P_STA_RECORD_T prStaRec ) { UINT_32 entry; P_WLAN_TABLE_T prWtbl; if (!prStaRec) return; prWtbl = prAdapter->rWifiVar.arWtbl; prStaRec->ucWlanIndex = WTBL_RESERVED_ENTRY; prStaRec->ucBMCWlanIndex = WTBL_RESERVED_ENTRY; //if ((IS_ADHOC_STA(prStaRec) || IS_STA_IN_AIS(prStaRec)) /* && prStaRec->ucBMCWlanIndex < WTBL_SIZE */) { //the hotspot mode would be assert after connect-disconnect field try WTBL_SIZE times if (TRUE) { for (entry = 0; entry < WTBL_SIZE; entry++) { if (prWtbl[entry].ucUsed && EQUAL_MAC_ADDR(prStaRec->aucMacAddr, prWtbl[entry].aucMacAddr)) { secPrivacyFreeForEntry(prAdapter, entry); #if 1//DBG DBGLOG(RSN, INFO, ("Free the STA entry (%lu)!\n", entry)); #endif } } } }