/* __vxge_hw_ring_delete - Removes the ring This function freeup the memory pool and removes the ring  */
enum vxge_hw_status __vxge_hw_ring_delete(struct __vxge_hw_vpath_handle *vp)
/* __vxge_hw_ring_delete - Removes the ring This function freeup the memory pool and removes the ring  */
enum vxge_hw_status __vxge_hw_ring_delete(struct __vxge_hw_vpath_handle *vp)
{
	struct __vxge_hw_ring *ring = vp->vpath->ringh;
	__vxge_hw_ring_abort(ring);
	if (ring->mempool)
		__vxge_hw_mempool_destroy(ring->mempool);
	vp->vpath->ringh = NULL;
	__vxge_hw_channel_free(&ring->channel);
	return VXGE_HW_OK;
}