diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/cpu/perf_event.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index fe73c1844a9a..f369c53315a5 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c | |||
@@ -497,12 +497,13 @@ static int x86_pmu_hw_config(struct perf_event *event) | |||
497 | int precise = 0; | 497 | int precise = 0; |
498 | 498 | ||
499 | /* Support for constant skid */ | 499 | /* Support for constant skid */ |
500 | if (x86_pmu.pebs) | 500 | if (x86_pmu.pebs) { |
501 | precise++; | 501 | precise++; |
502 | 502 | ||
503 | /* Support for IP fixup */ | 503 | /* Support for IP fixup */ |
504 | if (x86_pmu.lbr_nr) | 504 | if (x86_pmu.lbr_nr) |
505 | precise++; | 505 | precise++; |
506 | } | ||
506 | 507 | ||
507 | if (event->attr.precise_ip > precise) | 508 | if (event->attr.precise_ip > precise) |
508 | return -EOPNOTSUPP; | 509 | return -EOPNOTSUPP; |