VOS_VOID IMM_RbMemFreeFromQue(VOS_VOID)
{
    IMM_MEM_STRU *pstMem = VOS_NULL_PTR;
    VOS_UINT32    ulResult;


    if (g_pstAcpuIMMMemFreeQue == VOS_NULL_PTR)
    {
        vos_printf("g_pstAcpuIMMMemFreeQue is null\n");
        return;
    }

    if (g_pstAcpuIMMMemFreeQue->ulMaxNum != (IMM_MEM_FREE_QUE_LEN+1))
    {
        vos_printf("g_pstAcpuIMMMemFreeQue ulMaxNum err: %u \n", g_pstAcpuIMMMemFreeQue->ulMaxNum);
        return;
    }

    while(PS_TRUE != (LUP_IsQueEmpty(g_pstAcpuIMMMemFreeQue)))
    {
        ulResult = LUP_DeSharedQueAcpu(g_pstAcpuIMMMemFreeQue, (VOS_VOID **)&pstMem);
        g_stImmMemRbMntnEntity.ulImmMemRbDeQTotalCnt++;

        if (PS_SUCC != ulResult)
        {
            g_stImmMemRbMntnEntity.ulImmMemRbDeQFailCnt++;
            vos_printf("ADS_IMMMemFree: LUP_DeSharedQueAcpu fail\n");
            return;
        }

        IMM_MemFree(pstMem);
    }

    return;
}/* IMM_RbMemFreeFromQue */
VOS_VOID ADS_UL_ProcIpfFailConfig(
    VOS_UINT32                          ulBdNum,
    IPF_CONFIG_ULPARAM_S               *pstIpfConfigUlPara
)
{
    VOS_UINT32                          i;
    IMM_MEM_STRU                       *pstImmMem;

    for (i = 0; i < ulBdNum; i++)
    {
        pstImmMem = (IMM_MEM_STRU *)pstIpfConfigUlPara[i].u32UsrField2;

        /* 释放转换后的IMM数据 */
        IMM_MemFree(pstImmMem);
    }

    return;
}