about summary refs log tree commit diff
path: root/src/thread/arm/syscall_cp.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/thread/arm/syscall_cp.s')
-rw-r--r--src/thread/arm/syscall_cp.s6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/thread/arm/syscall_cp.s b/src/thread/arm/syscall_cp.s
index 5a2d6c35..66c5ecbd 100644
--- a/src/thread/arm/syscall_cp.s
+++ b/src/thread/arm/syscall_cp.s
@@ -7,7 +7,7 @@ __syscall_cp_asm:
 __cp_begin:
 	ldr r0,[r0]
 	cmp r0,#0
-	blne __cancel
+	blne __cp_cancel
 	mov r7,r1
 	mov r0,r2
 	mov r1,r3
@@ -19,3 +19,7 @@ __cp_end:
 	tst lr,#1
 	moveq pc,lr
 	bx lr
+.global __cp_cancel
+__cp_cancel:
+	ldmfd sp!,{r4,r5,r6,r7,lr}
+	b __cancel