aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-09-11 15:31:24 +0100
committerMoyster <oysterized@gmail.com>2016-11-07 13:46:46 +0100
commit1bc9c3c07cf890282cc21b709856d4e1f1fb4257 (patch)
tree88309eae8abef471bafb7bf4ca294c894a1ca229 /arch
parent2cc7e9e9da20f8c394b0c1dbb61dab0dc4c3e373 (diff)
BACKPORT: arm64: cpu hotplug: ensure we mask out CPU_TASKS_FROZEN in notifiers
(cherry picked from commit e56d82a116176f7af9d642b560abbbd3a2b68013) We have a couple of CPU hotplug notifiers for resetting the CPU debug state to a sane value when a CPU comes online. This patch ensures that we mask out CPU_TASKS_FROZEN so that we don't miss any online events occuring due to suspend/resume. Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Pavel Labath <labath@google.com> Bug: 27189927 Change-Id: I72549149b9bf1f0d05cb17a1db98f9a342c580c0
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kernel/debug-monitors.c2
-rw-r--r--arch/arm64/kernel/hw_breakpoint.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug-monitors.c
index 7b816886d..86e89c168 100644
--- a/arch/arm64/kernel/debug-monitors.c
+++ b/arch/arm64/kernel/debug-monitors.c
@@ -144,7 +144,7 @@ static int __cpuinit os_lock_notify(struct notifier_block *self,
unsigned long action, void *data)
{
int cpu = (unsigned long)data;
- if (action == CPU_ONLINE)
+ if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE)
smp_call_function_single(cpu, clear_os_lock, NULL, 1);
return NOTIFY_OK;
}
diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
index 4a911591d..e32611481 100644
--- a/arch/arm64/kernel/hw_breakpoint.c
+++ b/arch/arm64/kernel/hw_breakpoint.c
@@ -830,7 +830,7 @@ static int __cpuinit hw_breakpoint_reset_notify(struct notifier_block *self,
void *hcpu)
{
int cpu = (long)hcpu;
- if (action == CPU_ONLINE)
+ if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE)
smp_call_function_single(cpu, reset_ctrl_regs, NULL, 1);
return NOTIFY_OK;
}