diff options
Diffstat (limited to 'kernel/events/core.c')
| -rw-r--r-- | kernel/events/core.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/kernel/events/core.c b/kernel/events/core.c index 8060c2857bb2..872122e074e5 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -2665,6 +2665,9 @@ static void perf_log_itrace_start(struct perf_event *event);  static void perf_event_unthrottle(struct perf_event *event, bool start)  { +	if (event->state != PERF_EVENT_STATE_ACTIVE) +		return; +  	event->hw.interrupts = 0;  	if (start)  		event->pmu->start(event, 0); @@ -2674,6 +2677,9 @@ static void perf_event_unthrottle(struct perf_event *event, bool start)  static void perf_event_throttle(struct perf_event *event)  { +	if (event->state != PERF_EVENT_STATE_ACTIVE) +		return; +  	event->hw.interrupts = MAX_INTERRUPTS;  	event->pmu->stop(event, 0);  	if (event == event->group_leader) | 
