summaryrefslogtreecommitdiffstats
path: root/drivers/xen
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2018-06-04 01:51:42 +0100
committerBen Hutchings <ben@decadent.org.uk>2018-06-16 22:22:30 +0100
commit72c6776c76325f950a6f5963137febd3907a7720 (patch)
treeba9eaaa8a3df7c44c9554f0bd4595cf419cdedef /drivers/xen
parentec88bd138bb46068f6efd99a96b8cf1f6f1e66d2 (diff)
downloadlinux-stable-72c6776c76325f950a6f5963137febd3907a7720.tar.gz
linux-stable-72c6776c76325f950a6f5963137febd3907a7720.tar.bz2
linux-stable-72c6776c76325f950a6f5963137febd3907a7720.zip
xen: Add xen_arch_suspend()
This is based on commit 2b953a5e994ce279904ec70220f7d4f31d380a0a upstream, "xen: Suspend ticks on all CPUs during suspend", but excluding the bug fix in that commit which is not needed in 3.16. We only need the xen_arch_suspend() hook for the following fix. Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: David Vrabel <david.vrabel@citrix.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/xen')
-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)
goto out_resume;
}
+ xen_arch_suspend();
+
si.cancelled = 1;
err = stop_machine(xen_suspend, &si, cpumask_of(0));
@@ -148,11 +150,12 @@ static void do_suspend(void)
si.cancelled = 1;
}
+ xen_arch_resume();
+
out_resume:
- if (!si.cancelled) {
- xen_arch_resume();
+ if (!si.cancelled)
xs_resume();
- } else
+ else
xs_suspend_cancel();
dpm_resume_end(si.cancelled ? PMSG_THAW : PMSG_RESTORE);