aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r--arch/sh/kernel/process.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 6334a4c54c7..3a1783010c0 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -474,7 +474,6 @@ out:
unsigned long get_wchan(struct task_struct *p)
{
- unsigned long schedule_frame;
unsigned long pc;
if (!p || p == current || p->state == TASK_RUNNING)
@@ -484,10 +483,13 @@ unsigned long get_wchan(struct task_struct *p)
* The same comment as on the Alpha applies here, too ...
*/
pc = thread_saved_pc(p);
+
+#ifdef CONFIG_FRAME_POINTER
if (in_sched_functions(pc)) {
- schedule_frame = (unsigned long)p->thread.sp;
+ unsigned long schedule_frame = (unsigned long)p->thread.sp;
return ((unsigned long *)schedule_frame)[21];
}
+#endif
return pc;
}