aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/trace/trace_events.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index a4b7c9a9130c..155b5d5a4e45 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -957,12 +957,12 @@ static int __trace_add_event_call(struct ftrace_event_call *call)
957 if (!d_events) 957 if (!d_events)
958 return -ENOENT; 958 return -ENOENT;
959 959
960 list_add(&call->list, &ftrace_events);
961 ret = event_create_dir(call, d_events, &ftrace_event_id_fops, 960 ret = event_create_dir(call, d_events, &ftrace_event_id_fops,
962 &ftrace_enable_fops, &ftrace_event_filter_fops, 961 &ftrace_enable_fops, &ftrace_event_filter_fops,
963 &ftrace_event_format_fops); 962 &ftrace_event_format_fops);
964 if (ret < 0) 963 if (!ret)
965 list_del(&call->list); 964 list_add(&call->list, &ftrace_events);
965
966 return ret; 966 return ret;
967} 967}
968 968
@@ -1124,10 +1124,11 @@ static void trace_module_add_events(struct module *mod)
1124 return; 1124 return;
1125 } 1125 }
1126 call->mod = mod; 1126 call->mod = mod;
1127 list_add(&call->list, &ftrace_events); 1127 ret = event_create_dir(call, d_events,
1128 event_create_dir(call, d_events, 1128 &file_ops->id, &file_ops->enable,
1129 &file_ops->id, &file_ops->enable, 1129 &file_ops->filter, &file_ops->format);
1130 &file_ops->filter, &file_ops->format); 1130 if (!ret)
1131 list_add(&call->list, &ftrace_events);
1131 } 1132 }
1132} 1133}
1133 1134
@@ -1267,10 +1268,12 @@ static __init int event_trace_init(void)
1267 continue; 1268 continue;
1268 } 1269 }
1269 } 1270 }
1270 list_add(&call->list, &ftrace_events); 1271 ret = event_create_dir(call, d_events, &ftrace_event_id_fops,
1271 event_create_dir(call, d_events, &ftrace_event_id_fops, 1272 &ftrace_enable_fops,
1272 &ftrace_enable_fops, &ftrace_event_filter_fops, 1273 &ftrace_event_filter_fops,
1273 &ftrace_event_format_fops); 1274 &ftrace_event_format_fops);
1275 if (!ret)
1276 list_add(&call->list, &ftrace_events);
1274 } 1277 }
1275 1278
1276 while (true) { 1279 while (true) {