diff --git a/kernel/events/core.c b/kernel/events/core.c index d0f13b641f9f..7c394ddf1ce6 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5837,7 +5837,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);