diff options
Diffstat (limited to 'arch/csky/kernel/stacktrace.c')
-rw-r--r-- | arch/csky/kernel/stacktrace.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/csky/kernel/stacktrace.c b/arch/csky/kernel/stacktrace.c index 9f78f5d21511..1b280ef08004 100644 --- a/arch/csky/kernel/stacktrace.c +++ b/arch/csky/kernel/stacktrace.c @@ -111,11 +111,12 @@ static bool save_wchan(unsigned long pc, void *arg) return false; } -unsigned long __get_wchan(struct task_struct *task) +unsigned long get_wchan(struct task_struct *task) { unsigned long pc = 0; - walk_stackframe(task, NULL, save_wchan, &pc); + if (likely(task && task != current && !task_is_running(task))) + walk_stackframe(task, NULL, save_wchan, &pc); return pc; } |