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 <davem@davemloft.net>
This commit is contained in:
David S. Miller 2010-06-23 11:39:02 -07:00
parent 0d0659c78d
commit b7d45c3f74

View File

@ -655,6 +655,7 @@ static u64 maybe_change_configuration(struct cpu_hw_events *cpuc, u64 pcr)
cpuc->current_idx[i] = idx; cpuc->current_idx[i] = idx;
enc = perf_event_get_enc(cpuc->events[i]); enc = perf_event_get_enc(cpuc->events[i]);
pcr &= ~mask_for_index(idx);
pcr |= event_encoding(enc, idx); pcr |= event_encoding(enc, idx);
} }
out: out: