diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2014-02-19 15:12:18 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-02-20 12:32:55 -0500 |
commit | 1fcc155351f183e5044180eeb372a8ff47710855 (patch) | |
tree | 111b7ee855b3a4bc463e6ac04c5dbad3bcb43ded | |
parent | e1e232ca6b8faa210e5509f17d55519b4392524f (diff) |
ftrace: Have static function trace clear ENABLED flag on unregister
The ENABLED flag needs to be cleared when a ftrace_ops is unregistered
otherwise it wont be able to be registered again.
This is only for static tracing and does not affect DYNAMIC_FTRACE at
all.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/trace/ftrace.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index dcee546f21bc..5313c1100d30 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -4463,7 +4463,13 @@ static inline void ftrace_startup_enable(int command) { } | |||
4463 | (ops)->flags |= FTRACE_OPS_FL_ENABLED; \ | 4463 | (ops)->flags |= FTRACE_OPS_FL_ENABLED; \ |
4464 | ___ret; \ | 4464 | ___ret; \ |
4465 | }) | 4465 | }) |
4466 | # define ftrace_shutdown(ops, command) __unregister_ftrace_function(ops) | 4466 | # define ftrace_shutdown(ops, command) \ |
4467 | ({ \ | ||
4468 | int ___ret = __unregister_ftrace_function(ops); \ | ||
4469 | if (!___ret) \ | ||
4470 | (ops)->flags &= ~FTRACE_OPS_FL_ENABLED; \ | ||
4471 | ___ret; \ | ||
4472 | }) | ||
4467 | 4473 | ||
4468 | # define ftrace_startup_sysctl() do { } while (0) | 4474 | # define ftrace_startup_sysctl() do { } while (0) |
4469 | # define ftrace_shutdown_sysctl() do { } while (0) | 4475 | # define ftrace_shutdown_sysctl() do { } while (0) |