aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/xen/manage.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c
index 972bf783a182..4dd01865ad18 100644
--- a/drivers/xen/manage.c
+++ b/drivers/xen/manage.c
@@ -38,7 +38,6 @@ static enum shutdown_state shutting_down = SHUTDOWN_INVALID;
38static int xen_hvm_suspend(void *data) 38static int xen_hvm_suspend(void *data)
39{ 39{
40 int err; 40 int err;
41 struct sched_shutdown r = { .reason = SHUTDOWN_suspend };
42 int *cancelled = data; 41 int *cancelled = data;
43 42
44 BUG_ON(!irqs_disabled()); 43 BUG_ON(!irqs_disabled());
@@ -50,7 +49,12 @@ static int xen_hvm_suspend(void *data)
50 return err; 49 return err;
51 } 50 }
52 51
53 *cancelled = HYPERVISOR_sched_op(SCHEDOP_shutdown, &r); 52 /*
53 * This hypercall returns 1 if suspend was cancelled
54 * or the domain was merely checkpointed, and 0 if it
55 * is resuming in a new domain.
56 */
57 *cancelled = HYPERVISOR_suspend(0UL);
54 58
55 xen_hvm_post_suspend(*cancelled); 59 xen_hvm_post_suspend(*cancelled);
56 gnttab_resume(); 60 gnttab_resume();