mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
sh: Fix get_wchan().
Some time ago the schedule frame size changed and we failed to reflect this in get_wchan() at the time. This first popped up as a problem on SH7751R where schedule_frame ended up being unaligned and generating an unaligned trap. This fixes it up again.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
dc34d312c7
commit
b652c23cb0
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user