aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/xen/balloon.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index a3dc75db135c..3101cf6daf56 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -430,8 +430,13 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
430 /* No more mappings: invalidate P2M and add to balloon. */ 430 /* No more mappings: invalidate P2M and add to balloon. */
431 for (i = 0; i < nr_pages; i++) { 431 for (i = 0; i < nr_pages; i++) {
432 pfn = mfn_to_pfn(frame_list[i]); 432 pfn = mfn_to_pfn(frame_list[i]);
433 __set_phys_to_machine(pfn, 433 if (!xen_feature(XENFEAT_auto_translated_physmap)) {
434 pfn_to_mfn(page_to_pfn(__get_cpu_var(balloon_scratch_page)))); 434 unsigned long p;
435 struct page *pg;
436 pg = __get_cpu_var(balloon_scratch_page);
437 p = page_to_pfn(pg);
438 __set_phys_to_machine(pfn, pfn_to_mfn(p));
439 }
435 balloon_append(pfn_to_page(pfn)); 440 balloon_append(pfn_to_page(pfn));
436 } 441 }
437 442