diff options
-rw-r--r-- | arch/x86/kernel/cpu/perf_event_amd.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c index 95e7fe1c5f0b..589286f28877 100644 --- a/arch/x86/kernel/cpu/perf_event_amd.c +++ b/arch/x86/kernel/cpu/perf_event_amd.c | |||
@@ -205,10 +205,8 @@ static void amd_put_event_constraints(struct cpu_hw_events *cpuc, | |||
205 | * when we come here | 205 | * when we come here |
206 | */ | 206 | */ |
207 | for (i = 0; i < x86_pmu.num_counters; i++) { | 207 | for (i = 0; i < x86_pmu.num_counters; i++) { |
208 | if (nb->owners[i] == event) { | 208 | if (cmpxchg(nb->owners + i, event, NULL) == event) |
209 | cmpxchg(nb->owners+i, event, NULL); | ||
210 | break; | 209 | break; |
211 | } | ||
212 | } | 210 | } |
213 | } | 211 | } |
214 | 212 | ||