aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/events/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index d4c85425e3a..adc3ef37b7e 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -5716,6 +5716,7 @@ struct pmu *perf_init_event(struct perf_event *event)
5716 pmu = idr_find(&pmu_idr, event->attr.type); 5716 pmu = idr_find(&pmu_idr, event->attr.type);
5717 rcu_read_unlock(); 5717 rcu_read_unlock();
5718 if (pmu) { 5718 if (pmu) {
5719 event->pmu = pmu;
5719 ret = pmu->event_init(event); 5720 ret = pmu->event_init(event);
5720 if (ret) 5721 if (ret)
5721 pmu = ERR_PTR(ret); 5722 pmu = ERR_PTR(ret);
@@ -5723,6 +5724,7 @@ struct pmu *perf_init_event(struct perf_event *event)
5723 } 5724 }
5724 5725
5725 list_for_each_entry_rcu(pmu, &pmus, entry) { 5726 list_for_each_entry_rcu(pmu, &pmus, entry) {
5727 event->pmu = pmu;
5726 ret = pmu->event_init(event); 5728 ret = pmu->event_init(event);
5727 if (!ret) 5729 if (!ret)
5728 goto unlock; 5730 goto unlock;
@@ -5849,8 +5851,6 @@ done:
5849 return ERR_PTR(err); 5851 return ERR_PTR(err);
5850 } 5852 }
5851 5853
5852 event->pmu = pmu;
5853
5854 if (!event->parent) { 5854 if (!event->parent) {
5855 if (event->attach_state & PERF_ATTACH_TASK) 5855 if (event->attach_state & PERF_ATTACH_TASK)
5856 jump_label_inc(&perf_sched_events); 5856 jump_label_inc(&perf_sched_events);