Index: xen-unstable.hg/xen/arch/ia64/linux-xen/mca.c
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/linux-xen/mca.c	2007-11-30 15:14:07.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/linux-xen/mca.c	2007-11-30 15:15:03.000000000 +0900
@@ -238,13 +238,11 @@ ia64_log_init(int sal_info_type)
 	memset(IA64_LOG_NEXT_BUFFER(sal_info_type), 0, max_size);
 
 #ifdef XEN
-	if (sal_record == NULL) {
-		unsigned int pageorder;
-		pageorder  = get_order_from_bytes(max_size);
-		sal_record = (sal_log_record_header_t *)
-		             alloc_xenheap_pages(pageorder);
-		BUG_ON(sal_record == NULL);
-	}
+	if (sal_record)
+		return;
+	sal_record = (sal_log_record_header_t *)
+	             alloc_xenheap_pages(get_order_from_bytes(max_size));
+	BUG_ON(!sal_record);
 #endif
 }
 
