diff --git a/[refs] b/[refs] index 2ab6cc89aaaa..3756b5d37101 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc34d312c7b25d5d0f54c16d143a9526936e5d38 +refs/heads/master: b652c23cb0f7808bedb5442c416d91705a465c67 diff --git a/trunk/arch/sh/kernel/process.c b/trunk/arch/sh/kernel/process.c index 7347f6afa030..486c06e18033 100644 --- a/trunk/arch/sh/kernel/process.c +++ b/trunk/arch/sh/kernel/process.c @@ -470,9 +470,10 @@ unsigned long get_wchan(struct task_struct *p) */ pc = thread_saved_pc(p); if (in_sched_functions(pc)) { - schedule_frame = ((unsigned long *)(long)p->thread.sp)[1]; - return (unsigned long)((unsigned long *)schedule_frame)[1]; + schedule_frame = (unsigned long)p->thread.sp; + return ((unsigned long *)schedule_frame)[21]; } + return pc; }