From b7d45c3f741b114cdda9ee0cd727afaf60a1bf37 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 23 Jun 2010 11:39:02 -0700 Subject: [PATCH] sparc64: Fix maybe_change_configuration() PCR setting. Need to mask out the existing event bits before OR'ing in the new ones. Noticed by Peter Zijlstra. Signed-off-by: David S. Miller --- arch/sparc/kernel/perf_event.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 34ce49f..2e16983 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c @@ -655,6 +655,7 @@ static u64 maybe_change_configuration(struct cpu_hw_events *cpuc, u64 pcr) cpuc->current_idx[i] = idx; enc = perf_event_get_enc(cpuc->events[i]); + pcr &= ~mask_for_index(idx); pcr |= event_encoding(enc, idx); } out: -- 2.7.4