aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-11-29 08:01:01 -0500
committerRalf Baechle <ralf@linux-mips.org>2005-12-01 06:05:15 -0500
commitedcb98d1db7d0320d7b1920c05a4f1cafe7cb798 (patch)
treecd148f10f348ab62a47a2c1fdbc8aaa10d0d7032
parentfe3d72858c34a464976c6f8076971e2862d5c3b8 (diff)
[MIPS] Fix return path of sysmips(MIPS_ATOMIC_SET, ...)
The way we were doing things does no longer work on 2.6. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/scall32-o32.S14
-rw-r--r--arch/mips/kernel/scall64-64.S14
2 files changed, 2 insertions, 26 deletions
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index 4dd8e8b4fbc2..2258fc69e14d 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -241,19 +241,7 @@ illegal_syscall:
241 sw zero, PT_R7(sp) # success 241 sw zero, PT_R7(sp) # success
242 sw v0, PT_R2(sp) # result 242 sw v0, PT_R2(sp) # result
243 243
244 /* Success, so skip usual error handling garbage. */ 244 j o32_syscall_exit # continue like a normal syscall
245 lw a2, TI_FLAGS($28) # syscall tracing enabled?
246 li t0, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
247 and t0, a2, t0
248 bnez t0, 1f
249
250 j o32_syscall_exit
251
2521: SAVE_STATIC
253 move a0, sp
254 li a1, 1
255 jal do_syscall_trace
256 j syscall_exit
257 245
258no_mem: li v0, -ENOMEM 246no_mem: li v0, -ENOMEM
259 jr ra 247 jr ra
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 9085838d6ce3..cb28de6a2efa 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -174,19 +174,7 @@ illegal_syscall:
174 sd zero, PT_R7(sp) # success 174 sd zero, PT_R7(sp) # success
175 sd v0, PT_R2(sp) # result 175 sd v0, PT_R2(sp) # result
176 176
177 /* Success, so skip usual error handling garbage. */ 177 j n64_syscall_exit # continue like a normal syscall
178 li t0, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
179 LONG_L a2, TI_FLAGS($28) # syscall tracing enabled?
180 and t0, a2, t0
181 bnez t0, 1f
182
183 j n64_syscall_exit
184
1851: SAVE_STATIC
186 move a0, sp
187 li a1, 1
188 jal do_syscall_trace
189 j syscall_exit
190 178
191no_mem: li v0, -ENOMEM 179no_mem: li v0, -ENOMEM
192 jr ra 180 jr ra