INT BndStrg_TableInit(PRTMP_ADAPTER pAd, PBND_STRG_CLI_TABLE table) { INT ret_val = BND_STRG_SUCCESS; if (table->bInitialized == TRUE) return BND_STRG_SUCCESS; NdisZeroMemory(table, sizeof(BND_STRG_CLI_TABLE)); OS_NdisAllocateSpinLock(&table->Lock); if (PHY_MODE_IS_5G_BAND(pAd->CommonCfg.PhyMode)) table->Band = BAND_5G; else table->Band = BAND_24G; BndStrg_SetInfFlags(pAd, table, TRUE); table->Ops = &D_BndStrgOps; table->RssiCheck = BND_STRG_RSSI_CHECK; table->AgeTime = BND_STRG_AGE_TIME; table->HoldTime = BND_STRG_HOLD_TIME; table->CheckTime_5G = BND_STRG_CHECK_TIME_5G; table->AutoOnOffThrd = BND_STRG_AUTO_ONOFF_THRD; table->priv = (VOID *) pAd; table->bInitialized = TRUE; if (ret_val != BND_STRG_SUCCESS) { BND_STRG_DBGPRINT(RT_DEBUG_ERROR, ("Error in %s(), error code = %d!\n", __FUNCTION__, ret_val)); } return BND_STRG_SUCCESS; }
INT BndStrg_Release(PRTMP_ADAPTER pAd) { INT ret_val = BND_STRG_SUCCESS; PBND_STRG_CLI_TABLE table = P_BND_STRG_TABLE; DBGPRINT(RT_DEBUG_OFF, (YLW("%s()\n"), __FUNCTION__)); BndStrg_SetInfFlags(pAd, table, FALSE); if (table->bEnabled == TRUE) ret_val = BndStrg_Enable(table, 0); if ((table->b2GInfReady == FALSE && table->b5GInfReady == FALSE)) ret_val = BndStrg_TableRelease(table); if (ret_val != BND_STRG_SUCCESS) { BND_STRG_DBGPRINT(RT_DEBUG_ERROR, ("Error in %s(), error code = %d!\n", __FUNCTION__, ret_val)); } return ret_val; }