--- /dev/null
+From 05cbbf643b8eea1be21082c53cdb856d1dc6d765 Mon Sep 17 00:00:00 2001
+From: Steven Rostedt <srostedt@redhat.com>
+Date: Tue, 22 Jan 2013 23:35:11 -0500
+Subject: tracing: Fix selftest function recursion accounting
+
+From: Steven Rostedt <srostedt@redhat.com>
+
+commit 05cbbf643b8eea1be21082c53cdb856d1dc6d765 upstream.
+
+The test that checks function recursion does things differently
+if the arch does not support all ftrace features. But that really
+doesn't make a difference with how the test runs, and either way
+the count variable should be 2 at the end.
+
+Currently the test wrongly fails for archs that don't support all
+the ftrace features.
+
+Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/trace/trace_selftest.c | 16 +++-------------
+ 1 file changed, 3 insertions(+), 13 deletions(-)
+
+--- a/kernel/trace/trace_selftest.c
++++ b/kernel/trace/trace_selftest.c
+@@ -452,7 +452,6 @@ trace_selftest_function_recursion(void)
+ char *func_name;
+ int len;
+ int ret;
+- int cnt;
+
+ /* The previous test PASSED */
+ pr_cont("PASSED\n");
+@@ -510,19 +509,10 @@ trace_selftest_function_recursion(void)
+
+ unregister_ftrace_function(&test_recsafe_probe);
+
+- /*
+- * If arch supports all ftrace features, and no other task
+- * was on the list, we should be fine.
+- */
+- if (!ftrace_nr_registered_ops() && !FTRACE_FORCE_LIST_FUNC)
+- cnt = 2; /* Should have recursed */
+- else
+- cnt = 1;
+-
+ ret = -1;
+- if (trace_selftest_recursion_cnt != cnt) {
+- pr_cont("*callback not called expected %d times (%d)* ",
+- cnt, trace_selftest_recursion_cnt);
++ if (trace_selftest_recursion_cnt != 2) {
++ pr_cont("*callback not called expected 2 times (%d)* ",
++ trace_selftest_recursion_cnt);
+ goto out;
+ }
+