summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/hibernate.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-07-04 17:17:08 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-07-04 17:17:08 +0200
commit67417f9c262e2cd4b706eba3e1fd879d0bebc6d8 (patch)
tree5ab867187357c4c0e23e409f42f0e0dff63d6fa8 /arch/arm64/kernel/hibernate.c
parenttty/serial: atmel: enforce tasklet init and termination sequences (diff)
parentLinux 4.7-rc6 (diff)
downloadlinux-67417f9c262e2cd4b706eba3e1fd879d0bebc6d8.tar.xz
linux-67417f9c262e2cd4b706eba3e1fd879d0bebc6d8.zip
Merge 4.7-rc6 into tty-next
We want the tty/serial 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 f8df75d740f4..21ab5df9fa76 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)) {