/*----------------------------------------------------------------------------*/ P_BSS_INFO_T cnmGetBssInfoAndInit(P_ADAPTER_T prAdapter, ENUM_NETWORK_TYPE_T eNetworkType, BOOLEAN fgIsP2pDevice) { P_BSS_INFO_T prBssInfo; UINT_8 ucBssIndex, ucOwnMacIdx; ASSERT(prAdapter); if (eNetworkType == NETWORK_TYPE_P2P && fgIsP2pDevice) { prBssInfo = prAdapter->aprBssInfo[P2P_DEV_BSS_INDEX]; prBssInfo->fgIsInUse = TRUE; prBssInfo->ucBssIndex = P2P_DEV_BSS_INDEX; prBssInfo->eNetworkType = eNetworkType; prBssInfo->ucOwnMacIndex = HW_BSSID_NUM; return prBssInfo; } if (wlanGetEcoVersion(prAdapter) == 1) { ucOwnMacIdx = 0; } else { ucOwnMacIdx = (eNetworkType == NETWORK_TYPE_MBSS) ? 0 : 1; } /* Find available HW set */ do { for (ucBssIndex = 0; ucBssIndex < BSS_INFO_NUM; ucBssIndex++) { prBssInfo = prAdapter->aprBssInfo[ucBssIndex]; if (prBssInfo && prBssInfo->fgIsInUse && ucOwnMacIdx == prBssInfo->ucOwnMacIndex) { break; } } if (ucBssIndex >= BSS_INFO_NUM) { break; /* No hit */ } } while (++ucOwnMacIdx < HW_BSSID_NUM); /* Find available BSS_INFO */ for (ucBssIndex = 0; ucBssIndex < BSS_INFO_NUM; ucBssIndex++) { prBssInfo = prAdapter->aprBssInfo[ucBssIndex]; if (prBssInfo && !prBssInfo->fgIsInUse) { prBssInfo->fgIsInUse = TRUE; prBssInfo->ucBssIndex = ucBssIndex; prBssInfo->eNetworkType = eNetworkType; prBssInfo->ucOwnMacIndex = ucOwnMacIdx; break; } } if (ucOwnMacIdx >= HW_BSSID_NUM || ucBssIndex >= BSS_INFO_NUM) { prBssInfo = NULL; } return prBssInfo; }
BOOLEAN glResetTrigger(P_ADAPTER_T prAdapter) { BOOLEAN fgResult = TRUE;; #if CFG_WMT_RESET_API_SUPPORT if(kalIsResetting()) { DBGLOG(INIT, ERROR, ("Skip triggering whole-chip reset during reseting!" "Chip[%04X E%u] FW Ver DEC[%u.%u] HEX[%x.%x], Driver Ver[%u.%u]\n", MTK_CHIP_REV, wlanGetEcoVersion(prAdapter), (prAdapter->rVerInfo.u2FwOwnVersion >> 8), (prAdapter->rVerInfo.u2FwOwnVersion & BITS(0, 7)), (prAdapter->rVerInfo.u2FwOwnVersion >> 8), (prAdapter->rVerInfo.u2FwOwnVersion & BITS(0, 7)), (prAdapter->rVerInfo.u2FwPeerVersion >> 8), (prAdapter->rVerInfo.u2FwPeerVersion & BITS(0, 7)))); fgResult = TRUE; } else {