diff options
Diffstat (limited to 'kernel/trace/trace_event_perf.c')
| -rw-r--r-- | kernel/trace/trace_event_perf.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index e6f65887842..8a2b73f7c06 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -96,7 +96,9 @@ int perf_trace_init(struct perf_event *p_event)  	mutex_lock(&event_mutex);  	list_for_each_entry(tp_event, &ftrace_events, list) {  		if (tp_event->event.type == event_id && -		    tp_event->class && tp_event->class->perf_probe && +		    tp_event->class && +		    (tp_event->class->perf_probe || +		     tp_event->class->reg) &&  		    try_module_get(tp_event->mod)) {  			ret = perf_trace_event_init(tp_event, p_event);  			break;  |