diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/trace/ftrace.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 3bcb340d6f02..8c9c2934c45f 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -666,6 +666,10 @@ static void profile_graph_return(struct ftrace_graph_ret *trace)  	if (!stat->hash || !ftrace_profile_enabled)  		goto out; +	/* If the calltime was zero'd ignore it */ +	if (!trace->calltime) +		goto out; +  	calltime = trace->rettime - trace->calltime;  	if (!(trace_flags & TRACE_ITER_GRAPH_TIME)) { @@ -3357,11 +3361,11 @@ void unregister_ftrace_graph(void)  		goto out;  	ftrace_graph_active--; -	unregister_trace_sched_switch(ftrace_graph_probe_sched_switch);  	ftrace_graph_return = (trace_func_graph_ret_t)ftrace_stub;  	ftrace_graph_entry = ftrace_graph_entry_stub;  	ftrace_shutdown(FTRACE_STOP_FUNC_RET);  	unregister_pm_notifier(&ftrace_suspend_notifier); +	unregister_trace_sched_switch(ftrace_graph_probe_sched_switch);   out:  	mutex_unlock(&ftrace_lock); | 
