aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel/process.c')
-rw-r--r--arch/sh/kernel/process.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 6334a4c54c7c..15ae322dbd74 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -18,6 +18,7 @@
18#include <linux/kdebug.h> 18#include <linux/kdebug.h>
19#include <linux/tick.h> 19#include <linux/tick.h>
20#include <linux/reboot.h> 20#include <linux/reboot.h>
21#include <linux/fs.h>
21#include <asm/uaccess.h> 22#include <asm/uaccess.h>
22#include <asm/mmu_context.h> 23#include <asm/mmu_context.h>
23#include <asm/pgalloc.h> 24#include <asm/pgalloc.h>
@@ -474,7 +475,6 @@ out:
474 475
475unsigned long get_wchan(struct task_struct *p) 476unsigned long get_wchan(struct task_struct *p)
476{ 477{
477 unsigned long schedule_frame;
478 unsigned long pc; 478 unsigned long pc;
479 479
480 if (!p || p == current || p->state == TASK_RUNNING) 480 if (!p || p == current || p->state == TASK_RUNNING)
@@ -484,10 +484,13 @@ unsigned long get_wchan(struct task_struct *p)
484 * The same comment as on the Alpha applies here, too ... 484 * The same comment as on the Alpha applies here, too ...
485 */ 485 */
486 pc = thread_saved_pc(p); 486 pc = thread_saved_pc(p);
487
488#ifdef CONFIG_FRAME_POINTER
487 if (in_sched_functions(pc)) { 489 if (in_sched_functions(pc)) {
488 schedule_frame = (unsigned long)p->thread.sp; 490 unsigned long schedule_frame = (unsigned long)p->thread.sp;
489 return ((unsigned long *)schedule_frame)[21]; 491 return ((unsigned long *)schedule_frame)[21];
490 } 492 }
493#endif
491 494
492 return pc; 495 return pc;
493} 496}