diff options
Diffstat (limited to 'arch/powerpc/kernel/trace/ftrace.c')
| -rw-r--r-- | arch/powerpc/kernel/trace/ftrace.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/powerpc/kernel/trace/ftrace.c b/arch/powerpc/kernel/trace/ftrace.c index 4bf051d3e21e..b65c8a34ad6e 100644 --- a/arch/powerpc/kernel/trace/ftrace.c +++ b/arch/powerpc/kernel/trace/ftrace.c | |||
| @@ -950,7 +950,6 @@ int ftrace_disable_ftrace_graph_caller(void) | |||
| 950 | */ | 950 | */ |
| 951 | unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip) | 951 | unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip) |
| 952 | { | 952 | { |
| 953 | struct ftrace_graph_ent trace; | ||
| 954 | unsigned long return_hooker; | 953 | unsigned long return_hooker; |
| 955 | 954 | ||
| 956 | if (unlikely(ftrace_graph_is_dead())) | 955 | if (unlikely(ftrace_graph_is_dead())) |
| @@ -961,18 +960,8 @@ unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip) | |||
| 961 | 960 | ||
| 962 | return_hooker = ppc_function_entry(return_to_handler); | 961 | return_hooker = ppc_function_entry(return_to_handler); |
| 963 | 962 | ||
| 964 | trace.func = ip; | 963 | if (!function_graph_enter(parent, ip, 0, NULL)) |
| 965 | trace.depth = current->curr_ret_stack + 1; | 964 | parent = return_hooker; |
| 966 | |||
| 967 | /* Only trace if the calling function expects to */ | ||
| 968 | if (!ftrace_graph_entry(&trace)) | ||
| 969 | goto out; | ||
| 970 | |||
| 971 | if (ftrace_push_return_trace(parent, ip, &trace.depth, 0, | ||
| 972 | NULL) == -EBUSY) | ||
| 973 | goto out; | ||
| 974 | |||
| 975 | parent = return_hooker; | ||
| 976 | out: | 965 | out: |
| 977 | return parent; | 966 | return parent; |
| 978 | } | 967 | } |
