/* Allocate a chunk of memory using kmalloc or, if that fails, vmalloc. The allocated memory is cleared.  */
void* cxgb_alloc_mem(unsigned long size)
/* Allocate a chunk of memory using kmalloc or, if that fails, vmalloc. The allocated memory is cleared.  */
void* cxgb_alloc_mem(unsigned long size)
{
	void *p = kmalloc(size, GFP_KERNEL);
	if (!p)
		p = vmalloc(size);
	if (p)
		memset(p, 0, size);
	return p;
}