/* For the old diag subcode 4 with simple data format we have to use real memory. If we use subcode 6 or 7 with extended data format, we can (and should) use vmalloc, since we need a lot of memory in that case. Currently up to 93 pages!  */
static void diag204_free_buffer(void)
/* For the old diag subcode 4 with simple data format we have to use real memory. If we use subcode 6 or 7 with extended data format, we can (and should) use vmalloc, since we need a lot of memory in that case. Currently up to 93 pages!  */
static void diag204_free_buffer(void)
{
	if (!diag204_buf)
		return;
	if (diag204_buf_vmalloc) {
		vfree(diag204_buf_vmalloc);
		diag204_buf_vmalloc = NULL;
	} else {
		free_pages((unsigned long) diag204_buf, 0);
	}
	diag204_buf_pages = 0;
	diag204_buf = NULL;
}