summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/trace/trace_events.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index ba3492076ab..83cc2c01195 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1010,9 +1010,12 @@ static int __trace_add_event_call(struct ftrace_event_call *call)
return -ENOENT;
list_add(&call->list, &ftrace_events);
- return event_create_dir(call, d_events, &ftrace_event_id_fops,
+ ret = event_create_dir(call, d_events, &ftrace_event_id_fops,
&ftrace_enable_fops, &ftrace_event_filter_fops,
&ftrace_event_format_fops);
+ if (ret < 0)
+ list_del(&call->list);
+ return ret;
}
/* Add an additional event_call dynamically */