diff options
Diffstat (limited to 'arch/x86/kernel/cpu/perf_event.c')
-rw-r--r-- | arch/x86/kernel/cpu/perf_event.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 071c8405debd..045cc0bb4c17 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c | |||
@@ -802,6 +802,7 @@ void hw_perf_enable(void) | |||
802 | return; | 802 | return; |
803 | 803 | ||
804 | if (cpuc->n_added) { | 804 | if (cpuc->n_added) { |
805 | int n_running = cpuc->n_events - cpuc->n_added; | ||
805 | /* | 806 | /* |
806 | * apply assignment obtained either from | 807 | * apply assignment obtained either from |
807 | * hw_perf_group_sched_in() or x86_pmu_enable() | 808 | * hw_perf_group_sched_in() or x86_pmu_enable() |
@@ -809,7 +810,7 @@ void hw_perf_enable(void) | |||
809 | * step1: save events moving to new counters | 810 | * step1: save events moving to new counters |
810 | * step2: reprogram moved events into new counters | 811 | * step2: reprogram moved events into new counters |
811 | */ | 812 | */ |
812 | for (i = 0; i < cpuc->n_events; i++) { | 813 | for (i = 0; i < n_running; i++) { |
813 | 814 | ||
814 | event = cpuc->event_list[i]; | 815 | event = cpuc->event_list[i]; |
815 | hwc = &event->hw; | 816 | hwc = &event->hw; |