c
void safe_free_pages(struct page *page, unsigned int order) {
	__free_pages(page, order);
	page = NULL;
}

void vmbus_free_ring(struct vmbus_channel *channel) {
	hv_ringbuffer_cleanup(&channel->outbound);
	hv_ringbuffer_cleanup(&channel->inbound);

	if (channel->ringbuffer_page) {
		safe_free_pages(channel->ringbuffer_page,
		                get_order(channel->ringbuffer_pagecount << PAGE_SHIFT));
		channel->ringbuffer_page = NULL;
	}
}
