aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kernel/perf_event_v7.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/kernel/perf_event_v7.c b/arch/arm/kernel/perf_event_v7.c
index 24e195a00af..7e38f1fa712 100644
--- a/arch/arm/kernel/perf_event_v7.c
+++ b/arch/arm/kernel/perf_event_v7.c
@@ -1117,6 +1117,9 @@ static void armv7pmu_save_regs(struct arm_pmu *pmu,
if (!cpupmu->active)
return;
+ if (!*cpupmu->cpu_hw_events.used_mask)
+ return;
+
if (!__v7_pmu_save_reg(cpupmu, PMCR) & ARMV7_PMNC_E)
return;
@@ -1148,6 +1151,9 @@ static void armv7pmu_restore_regs(struct arm_pmu *pmu,
if (!cpupmu->active)
return;
+ if (!*cpupmu->cpu_hw_events.used_mask)
+ return;
+
pmcr = __v7_pmu_read_logical(cpupmu, PMCR);
if (!pmcr & ARMV7_PMNC_E)
return;