diff options
| -rw-r--r-- | arch/xtensa/kernel/stacktrace.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/xtensa/kernel/stacktrace.c b/arch/xtensa/kernel/stacktrace.c index 174c11f13bba..b9f82510c650 100644 --- a/arch/xtensa/kernel/stacktrace.c +++ b/arch/xtensa/kernel/stacktrace.c | |||
| @@ -253,10 +253,14 @@ static int return_address_cb(struct stackframe *frame, void *data) | |||
| 253 | return 1; | 253 | return 1; |
| 254 | } | 254 | } |
| 255 | 255 | ||
| 256 | /* | ||
| 257 | * level == 0 is for the return address from the caller of this function, | ||
| 258 | * not from this function itself. | ||
| 259 | */ | ||
| 256 | unsigned long return_address(unsigned level) | 260 | unsigned long return_address(unsigned level) |
| 257 | { | 261 | { |
| 258 | struct return_addr_data r = { | 262 | struct return_addr_data r = { |
| 259 | .skip = level + 1, | 263 | .skip = level, |
| 260 | }; | 264 | }; |
| 261 | walk_stackframe(stack_pointer(NULL), return_address_cb, &r); | 265 | walk_stackframe(stack_pointer(NULL), return_address_cb, &r); |
| 262 | return r.addr; | 266 | return r.addr; |
