diff --git a/kernel/events/core.c b/kernel/events/core.c index 57898102847fb..8b6a2774e0841 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5730,7 +5730,8 @@ static void perf_output_read_group(struct perf_output_handle *handle, if (read_format & PERF_FORMAT_TOTAL_TIME_RUNNING) values[n++] = running; - if (leader != event) + if ((leader != event) && + (leader->state == PERF_EVENT_STATE_ACTIVE)) leader->pmu->read(leader); values[n++] = perf_event_count(leader);