/* This function frees a block from block pool  */
void __vxge_hw_blockpool_block_free(struct __vxge_hw_device *devh, struct __vxge_hw_blockpool_entry *entry)
/* This function frees a block from block pool  */
void __vxge_hw_blockpool_block_free(struct __vxge_hw_device *devh, struct __vxge_hw_blockpool_entry *entry)
{
	struct __vxge_hw_blockpool  *blockpool;
	blockpool = &devh->block_pool;
	if (entry->length == blockpool->block_size) {
		list_add(&entry->item, &blockpool->free_block_list);
		blockpool->pool_size++;
	}
	__vxge_hw_blockpool_blocks_remove(blockpool);
	return;
}