summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/hibernate.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-07-04 08:15:03 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-07-04 08:15:03 -0700
commit7813029a509c0c92a5b16d846defaa50a2d3d7f1 (patch)
tree1962ab81537b7155d185f4b0b06c0323ff4dc509 /arch/arm64/kernel/hibernate.c
parent3c9a6793bde1feb368cd6ef113c08a40a37f7517 (diff)
parenta99cde438de0c4c0cecc1d1af1a55a75b10bfdef (diff)
downloadop-kernel-dev-7813029a509c0c92a5b16d846defaa50a2d3d7f1.zip
op-kernel-dev-7813029a509c0c92a5b16d846defaa50a2d3d7f1.tar.gz
Merge 4.7-rc6 into staging-next
We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm64/kernel/hibernate.c')
-rw-r--r--arch/arm64/kernel/hibernate.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm64/kernel/hibernate.c b/arch/arm64/kernel/hibernate.c
index f8df75d..21ab5df 100644
--- a/arch/arm64/kernel/hibernate.c
+++ b/arch/arm64/kernel/hibernate.c
@@ -33,6 +33,7 @@
#include <asm/pgtable.h>
#include <asm/pgtable-hwdef.h>
#include <asm/sections.h>
+#include <asm/smp.h>
#include <asm/suspend.h>
#include <asm/virt.h>
@@ -236,6 +237,11 @@ int swsusp_arch_suspend(void)
unsigned long flags;
struct sleep_stack_data state;
+ if (cpus_are_stuck_in_kernel()) {
+ pr_err("Can't hibernate: no mechanism to offline secondary CPUs.\n");
+ return -EBUSY;
+ }
+
local_dbg_save(flags);
if (__cpu_suspend_enter(&state)) {
OpenPOWER on IntegriCloud