aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/trace/ftrace.c4
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