|
@@ -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;
|
|
|
}
|