Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b652c23c authored by Paul Mundt's avatar Paul Mundt
Browse files

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent dc34d312
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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;
}