aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/xen/manage.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/xen/manage.c')
-rw-r--r--drivers/xen/manage.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c
index bf1940706422..9e6a85104a20 100644
--- a/drivers/xen/manage.c
+++ b/drivers/xen/manage.c
@@ -131,6 +131,8 @@ static void do_suspend(void)
131 goto out_resume; 131 goto out_resume;
132 } 132 }
133 133
134 xen_arch_suspend();
135
134 si.cancelled = 1; 136 si.cancelled = 1;
135 137
136 err = stop_machine(xen_suspend, &si, cpumask_of(0)); 138 err = stop_machine(xen_suspend, &si, cpumask_of(0));
@@ -148,11 +150,12 @@ static void do_suspend(void)
148 si.cancelled = 1; 150 si.cancelled = 1;
149 } 151 }
150 152
153 xen_arch_resume();
154
151out_resume: 155out_resume:
152 if (!si.cancelled) { 156 if (!si.cancelled)
153 xen_arch_resume();
154 xs_resume(); 157 xs_resume();
155 } else 158 else
156 xs_suspend_cancel(); 159 xs_suspend_cancel();
157 160
158 dpm_resume_end(si.cancelled ? PMSG_THAW : PMSG_RESTORE); 161 dpm_resume_end(si.cancelled ? PMSG_THAW : PMSG_RESTORE);