コード例 #1
0
void	_rtw_mfree(u8 *pbuf, u32 sz)
{

#ifdef	PLATFORM_LINUX
#ifdef RTK_DMP_PLATFORM
	if(sz > 0x4000)
		dvr_free(pbuf);
	else
#endif
		kfree(pbuf);

#endif	
#ifdef PLATFORM_FREEBSD
	free(pbuf,M_DEVBUF);	
#endif		
#ifdef PLATFORM_WINDOWS

	NdisFreeMemory(pbuf,sz, 0);

#endif
	
#ifdef DBG_MEMORY_LEAK
#ifdef PLATFORM_LINUX
	atomic_dec(&_malloc_cnt);
	atomic_sub(sz, &_malloc_size);
#endif
#endif /* DBG_MEMORY_LEAK */
	
}
void	_mfree(u8 *pbuf, u32 sz)
{

#ifdef	PLATFORM_LINUX
#ifdef RTK_DMP_PLATFORM
	if(sz > 0x4000)
		dvr_free(pbuf);
	else
#endif
	kfree(pbuf, 0);

#endif	
	
#ifdef PLATFORM_WINDOWS

	NdisFreeMemory(pbuf,sz, 0);

#endif
	
	
}
コード例 #3
0
ファイル: mcp_buff.c プロジェクト: berte/mediaplayer
/*---------------------------------------------------------------------- 
 * Func : free_mcpb 
 *
 * Desc : free a mcp buffer with specified length
 *
 * Parm : mcpb : mcp buffer to be free
 *
 * Retn : N/A
 *----------------------------------------------------------------------*/ 
void free_mcpb(mcp_buff* mcpb)
{
    unsigned long len;
    
    if (mcpb)
    {        
        len = (unsigned long) mcpb->end - (unsigned long) mcpb;
        
        mcpb_dbg("Free Buffer %p (len = %ul)\n", mcpb, len);
                
#ifdef USE_DVR_MALLOC                   
        if (len >= MAX_MCPB_LEN) 
	   dvr_free(mcpb);
	else
	   kfree(mcpb);
#else
        if (len >= MAX_MCPB_LEN)
            free_pages((unsigned long) mcpb, get_order(len));
        else            
            kfree(mcpb);
#endif            
    }        
}