diff options
author | Will Deacon <will.deacon@arm.com> | 2015-09-11 15:31:24 +0100 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2016-02-18 10:28:15 +0000 |
commit | 07e3edc5d7b3b64fe83caa321f1ba7d70d5daa1c (patch) | |
tree | c3d0144444921b710ec9960a1685ced37a6ce532 | |
parent | dc582695e70da54b0907ed74f46d01fb1072cc0c (diff) | |
download | hikey-linaro-07e3edc5d7b3b64fe83caa321f1ba7d70d5daa1c.tar.gz |
UPSTREAM: 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
-rw-r--r-- | arch/arm64/kernel/debug-monitors.c | 2 | ||||
-rw-r--r-- | arch/arm64/kernel/hw_breakpoint.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug-monitors.c index b056369fd47d..3d1ce766d570 100644 --- a/arch/arm64/kernel/debug-monitors.c +++ b/arch/arm64/kernel/debug-monitors.c @@ -134,7 +134,7 @@ static int 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 e7d934d3afe0..9f548fd7b8af 100644 --- a/arch/arm64/kernel/hw_breakpoint.c +++ b/arch/arm64/kernel/hw_breakpoint.c @@ -885,7 +885,7 @@ static int 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, hw_breakpoint_reset, NULL, 1); return NOTIFY_OK; } |