diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2018-06-04 01:51:42 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2018-06-16 22:22:30 +0100 |
commit | 72c6776c76325f950a6f5963137febd3907a7720 (patch) | |
tree | ba9eaaa8a3df7c44c9554f0bd4595cf419cdedef /drivers/xen | |
parent | ec88bd138bb46068f6efd99a96b8cf1f6f1e66d2 (diff) | |
download | linux-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.c | 9 |
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); |