summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_events.c
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2016-11-28 13:54:57 -0500
committerSteven Rostedt <rostedt@goodmis.org>2016-12-09 09:15:41 -0500
commit989a0a3d248192b6f5d16cc2aea95faed89bb7ce (patch)
tree86ee63a59c6470ec84fb6701d6b898404247650e /kernel/trace/trace_events.c
parent1dd349ab74d278cee50fc24dc26c023f3b149642 (diff)
downloadop-kernel-dev-989a0a3d248192b6f5d16cc2aea95faed89bb7ce.zip
op-kernel-dev-989a0a3d248192b6f5d16cc2aea95faed89bb7ce.tar.gz
tracing: Have system enable return error if one of the events fail
If one of the events within a system fails to enable when "1" is written to the system "enable" file, it should return an error. Note, some events may still be enabled, but the user should know that something did go wrong. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_events.c')
-rw-r--r--kernel/trace/trace_events.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index d35fc2b..9311654 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -702,6 +702,7 @@ __ftrace_set_clr_event_nolock(struct trace_array *tr, const char *match,
struct trace_event_call *call;
const char *name;
int ret = -EINVAL;
+ int eret = 0;
list_for_each_entry(file, &tr->events, list) {
@@ -725,9 +726,17 @@ __ftrace_set_clr_event_nolock(struct trace_array *tr, const char *match,
if (event && strcmp(event, name) != 0)
continue;
- ftrace_event_enable_disable(file, set);
+ ret = ftrace_event_enable_disable(file, set);
- ret = 0;
+ /*
+ * Save the first error and return that. Some events
+ * may still have been enabled, but let the user
+ * know that something went wrong.
+ */
+ if (ret && !eret)
+ eret = ret;
+
+ ret = eret;
}
return ret;
OpenPOWER on IntegriCloud