diff options
Diffstat (limited to 'kernel/trace/trace_selftest.c')
| -rw-r--r-- | kernel/trace/trace_selftest.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c index b5e3496cf803..4738ad48a667 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c @@ -492,8 +492,13 @@ trace_selftest_function_recursion(void)  	unregister_ftrace_function(&test_rec_probe);  	ret = -1; -	if (trace_selftest_recursion_cnt != 1) { -		pr_cont("*callback not called once (%d)* ", +	/* +	 * Recursion allows for transitions between context, +	 * and may call the callback twice. +	 */ +	if (trace_selftest_recursion_cnt != 1 && +	    trace_selftest_recursion_cnt != 2) { +		pr_cont("*callback not called once (or twice) (%d)* ",  			trace_selftest_recursion_cnt);  		goto out;  	}  | 
