This is a note to let you know that I've just added the patch titled
ARM: 7355/1: perf: clear overflow flag when disabling counter on ARMv7 PMU
to the 3.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
arm-7355-1-perf-clear-overflow-flag-when-disabling-counter-on-armv7-pmu.patch
and it can be found in the queue-3.2 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 99c1745b9c76910e195889044f914b4898b7c9a5 Mon Sep 17 00:00:00 2001
From: Will Deacon <[email protected]>
Date: Tue, 6 Mar 2012 17:34:22 +0100
Subject: ARM: 7355/1: perf: clear overflow flag when disabling counter on ARMv7
PMU
From: Will Deacon <[email protected]>
commit 99c1745b9c76910e195889044f914b4898b7c9a5 upstream.
When disabling a counter on an ARMv7 PMU, we should also clear the
overflow flag in case an overflow occurred whilst stopping the counter.
This prevents a spurious overflow being picked up later and leading to
either false accounting or a NULL dereference.
Reported-by: Ming Lei <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Russell King <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
arch/arm/kernel/perf_event_v7.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/arch/arm/kernel/perf_event_v7.c
+++ b/arch/arm/kernel/perf_event_v7.c
@@ -878,6 +878,11 @@ static inline int armv7_pmnc_disable_int
counter = ARMV7_IDX_TO_COUNTER(idx);
asm volatile("mcr p15, 0, %0, c9, c14, 2" : : "r" (BIT(counter)));
+ isb();
+ /* Clear the overflow flag in case an interrupt is pending. */
+ asm volatile("mcr p15, 0, %0, c9, c12, 3" : : "r" (BIT(counter)));
+ isb();
+
return idx;
}
Patches currently in stable-queue which might be from [email protected] are
queue-3.2/arm-7357-1-perf-fix-overflow-handling-for-xscale2-pmus.patch
queue-3.2/arm-7356-1-perf-check-that-we-have-an-event-in-the-pmu-irq-handlers.patch
queue-3.2/arm-7355-1-perf-clear-overflow-flag-when-disabling-counter-on-armv7-pmu.patch
queue-3.2/arm-7345-1-errata-update-workaround-for-a9-erratum-743622.patch
queue-3.2/arm-7354-1-perf-limit-sample_period-to-half-max_period-in-non-sampling-mode.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html