diff options
Diffstat (limited to 'kernel/trace/trace_functions.c')
| -rw-r--r-- | kernel/trace/trace_functions.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c index c9a0b7df44ff..7402144bff21 100644 --- a/kernel/trace/trace_functions.c +++ b/kernel/trace/trace_functions.c | |||
| @@ -193,9 +193,11 @@ static void tracing_start_function_trace(void) | |||
| 193 | static void tracing_stop_function_trace(void) | 193 | static void tracing_stop_function_trace(void) |
| 194 | { | 194 | { |
| 195 | ftrace_function_enabled = 0; | 195 | ftrace_function_enabled = 0; |
| 196 | /* OK if they are not registered */ | 196 | |
| 197 | unregister_ftrace_function(&trace_stack_ops); | 197 | if (func_flags.val & TRACE_FUNC_OPT_STACK) |
| 198 | unregister_ftrace_function(&trace_ops); | 198 | unregister_ftrace_function(&trace_stack_ops); |
| 199 | else | ||
| 200 | unregister_ftrace_function(&trace_ops); | ||
| 199 | } | 201 | } |
| 200 | 202 | ||
| 201 | static int func_set_flag(u32 old_flags, u32 bit, int set) | 203 | static int func_set_flag(u32 old_flags, u32 bit, int set) |
| @@ -300,8 +302,7 @@ ftrace_trace_onoff_print(struct seq_file *m, unsigned long ip, | |||
| 300 | if (count == -1) | 302 | if (count == -1) |
| 301 | seq_printf(m, ":unlimited\n"); | 303 | seq_printf(m, ":unlimited\n"); |
| 302 | else | 304 | else |
| 303 | seq_printf(m, ":count=%ld", count); | 305 | seq_printf(m, ":count=%ld\n", count); |
| 304 | seq_putc(m, '\n'); | ||
| 305 | 306 | ||
| 306 | return 0; | 307 | return 0; |
| 307 | } | 308 | } |
