diff options
| -rw-r--r-- | arch/sh/kernel/process.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 7347f6afa030..486c06e18033 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c | |||
| @@ -470,9 +470,10 @@ unsigned long get_wchan(struct task_struct *p) | |||
| 470 | */ | 470 | */ |
| 471 | pc = thread_saved_pc(p); | 471 | pc = thread_saved_pc(p); |
| 472 | if (in_sched_functions(pc)) { | 472 | if (in_sched_functions(pc)) { |
| 473 | schedule_frame = ((unsigned long *)(long)p->thread.sp)[1]; | 473 | schedule_frame = (unsigned long)p->thread.sp; |
| 474 | return (unsigned long)((unsigned long *)schedule_frame)[1]; | 474 | return ((unsigned long *)schedule_frame)[21]; |
| 475 | } | 475 | } |
| 476 | |||
| 476 | return pc; | 477 | return pc; |
| 477 | } | 478 | } |
| 478 | 479 | ||
