diff
6 	if (channel->ringbuffer_page) {
+		struct page *temp = channel->ringbuffer_page;
+		channel->ringbuffer_page = NULL;
-7 		__free_pages(channel->ringbuffer_page,
+7 		__free_pages(temp,
8 			     get_order(channel->ringbuffer_pagecount
9 				       << PAGE_SHIFT));
-10 		channel->ringbuffer_page = NULL;
10 	}
