/* __vxge_hw_ring_reset - Resets the ring This function resets the ring during vpath reset operation  */
enum vxge_hw_status __vxge_hw_ring_reset(struct __vxge_hw_ring *ring)
/* __vxge_hw_ring_reset - Resets the ring This function resets the ring during vpath reset operation  */
enum vxge_hw_status __vxge_hw_ring_reset(struct __vxge_hw_ring *ring)
{
	enum vxge_hw_status status = VXGE_HW_OK;
	struct __vxge_hw_channel *channel;
	channel = &ring->channel;
	__vxge_hw_ring_abort(ring);
	status = __vxge_hw_channel_reset(channel);
	if (status != VXGE_HW_OK)
		goto exit;
	if (ring->rxd_init) {
		status = vxge_hw_ring_replenish(ring, 1);
		if (status != VXGE_HW_OK)
			goto exit;
	}
exit:
	return status;
}