aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTkhai Kirill <tkhai@yandex.ru>2011-03-31 00:52:38 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-21 14:32:40 -0700
commit790dcd55449886058b77e6c49fa8b3834568a8ed (patch)
tree05f377fa73db67acae0bf608fa261c55615deac0 /arch
parent247a80437d061450c5e9f371547aef4e34baec16 (diff)
downloadlinux-2.6.38-lt-ux500-790dcd55449886058b77e6c49fa8b3834568a8ed.tar.gz
sparc32: Pass task_struct to schedule_tail() in ret_from_fork
[ Upstream commit 47c7c97a93a5b8f719093dbf83555090b3b8228b ] We have to pass task_struct of previous process to function schedule_tail(). Currently in ret_from_fork previous thread_info is passed: switch_to: mov %g6, %g3 /* previous thread_info in g6 */ ret_from_fork: call schedule_tail mov %g3, %o0 /* previous thread_info is passed */ void schedule_tail(struct task_struct *prev); Signed-off-by: Tkhai Kirill <tkhai@yandex.ru> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc/kernel/entry.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S
index 1504df8ddf7..906ee3e24cc 100644
--- a/arch/sparc/kernel/entry.S
+++ b/arch/sparc/kernel/entry.S
@@ -1283,7 +1283,7 @@ linux_syscall_trace:
.globl ret_from_fork
ret_from_fork:
call schedule_tail
- mov %g3, %o0
+ ld [%g3 + TI_TASK], %o0
b ret_sys_call
ld [%sp + STACKFRAME_SZ + PT_I0], %o0