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

Commit 3981c472 authored by Richard Kuo's avatar Richard Kuo
Browse files

Hexagon: fix up int enable/disable at ret_from_fork



Check return coming out of check_work_pending, and if copy_thread
passed us a function in r24, call it.  Based on feedback from Al
Viro.

Signed-off-by: default avatarRichard Kuo <rkuo@codeaurora.org>
parent 1ce81f4f
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -374,11 +374,20 @@ _K_enter_debug:
	.globl ret_from_fork
ret_from_fork:
	{
		call schedule_tail;
		call schedule_tail
		R16.H = #HI(do_work_pending);
	}
	{
		P0 = cmp.eq(R24, #0);
		R16.L = #LO(do_work_pending);
		R0 = #VM_INT_DISABLE;
		jump check_work_pending;
	}
	if P0 jump check_work_pending
	{
		R0 = R25;
		callr R24
	}
	{
		jump check_work_pending
		R0 = #VM_INT_DISABLE;
	}