diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 610d21355526d..99be927a7e266 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -697,7 +697,7 @@ static __always_inline int trace_test_and_set_recursion(int start, int max) current->trace_recursion = val; barrier(); - return bit; + return bit + 1; } static __always_inline void trace_clear_recursion(int bit) @@ -707,6 +707,7 @@ static __always_inline void trace_clear_recursion(int bit) if (!bit) return; + bit--; bit = 1 << bit; val &= ~bit;