diff options
-rw-r--r-- | kernel/trace/ftrace.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 1752a63f37c0..f1ed080406c3 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -2719,6 +2719,9 @@ void unregister_ftrace_graph(void) | |||
2719 | { | 2719 | { |
2720 | mutex_lock(&ftrace_lock); | 2720 | mutex_lock(&ftrace_lock); |
2721 | 2721 | ||
2722 | if (!unlikely(atomic_read(&ftrace_graph_active))) | ||
2723 | goto out; | ||
2724 | |||
2722 | atomic_dec(&ftrace_graph_active); | 2725 | atomic_dec(&ftrace_graph_active); |
2723 | unregister_trace_sched_switch(ftrace_graph_probe_sched_switch); | 2726 | unregister_trace_sched_switch(ftrace_graph_probe_sched_switch); |
2724 | ftrace_graph_return = (trace_func_graph_ret_t)ftrace_stub; | 2727 | ftrace_graph_return = (trace_func_graph_ret_t)ftrace_stub; |
@@ -2726,6 +2729,7 @@ void unregister_ftrace_graph(void) | |||
2726 | ftrace_shutdown(FTRACE_STOP_FUNC_RET); | 2729 | ftrace_shutdown(FTRACE_STOP_FUNC_RET); |
2727 | unregister_pm_notifier(&ftrace_suspend_notifier); | 2730 | unregister_pm_notifier(&ftrace_suspend_notifier); |
2728 | 2731 | ||
2732 | out: | ||
2729 | mutex_unlock(&ftrace_lock); | 2733 | mutex_unlock(&ftrace_lock); |
2730 | } | 2734 | } |
2731 | 2735 | ||