diff options
Diffstat (limited to 'arch/xtensa/kernel/process.c')
-rw-r--r-- | arch/xtensa/kernel/process.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c index 6a44b54ae817..f1f596644bfc 100644 --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c | |||
@@ -145,7 +145,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
145 | int user_mode = user_mode(regs); | 145 | int user_mode = user_mode(regs); |
146 | 146 | ||
147 | /* Set up new TSS. */ | 147 | /* Set up new TSS. */ |
148 | tos = (unsigned long)p->thread_info + THREAD_SIZE; | 148 | tos = (unsigned long)task_stack_page(p) + THREAD_SIZE; |
149 | if (user_mode) | 149 | if (user_mode) |
150 | childregs = (struct pt_regs*)(tos - PT_USER_SIZE); | 150 | childregs = (struct pt_regs*)(tos - PT_USER_SIZE); |
151 | else | 151 | else |
@@ -217,7 +217,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) | |||
217 | unsigned long get_wchan(struct task_struct *p) | 217 | unsigned long get_wchan(struct task_struct *p) |
218 | { | 218 | { |
219 | unsigned long sp, pc; | 219 | unsigned long sp, pc; |
220 | unsigned long stack_page = (unsigned long) p->thread_info; | 220 | unsigned long stack_page = (unsigned long) task_stack_page(p); |
221 | int count = 0; | 221 | int count = 0; |
222 | 222 | ||
223 | if (!p || p == current || p->state == TASK_RUNNING) | 223 | if (!p || p == current || p->state == TASK_RUNNING) |