diff options
Diffstat (limited to 'arch/arc/include/asm/syscall.h')
-rw-r--r-- | arch/arc/include/asm/syscall.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arc/include/asm/syscall.h b/arch/arc/include/asm/syscall.h index 33ab3048e9b2..29de09804306 100644 --- a/arch/arc/include/asm/syscall.h +++ b/arch/arc/include/asm/syscall.h | |||
@@ -18,7 +18,7 @@ static inline long | |||
18 | syscall_get_nr(struct task_struct *task, struct pt_regs *regs) | 18 | syscall_get_nr(struct task_struct *task, struct pt_regs *regs) |
19 | { | 19 | { |
20 | if (user_mode(regs) && in_syscall(regs)) | 20 | if (user_mode(regs) && in_syscall(regs)) |
21 | return regs->orig_r8; | 21 | return regs->r8; |
22 | else | 22 | else |
23 | return -1; | 23 | return -1; |
24 | } | 24 | } |
@@ -26,8 +26,7 @@ syscall_get_nr(struct task_struct *task, struct pt_regs *regs) | |||
26 | static inline void | 26 | static inline void |
27 | syscall_rollback(struct task_struct *task, struct pt_regs *regs) | 27 | syscall_rollback(struct task_struct *task, struct pt_regs *regs) |
28 | { | 28 | { |
29 | /* XXX: I can't fathom how pt_regs->r8 will be clobbered ? */ | 29 | regs->r0 = regs->orig_r0; |
30 | regs->r8 = regs->orig_r8; | ||
31 | } | 30 | } |
32 | 31 | ||
33 | static inline long | 32 | static inline long |