diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 00:54:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 00:54:37 -0400 |
commit | 6a302358d87fedaf7bda12b8e909265ebf1ce674 (patch) | |
tree | 9bb5d79d812d531ae7031fe4aecf18151e41f716 /arch/sh/kernel/process.c | |
parent | 8e268f333012c62fc6a5a10e1e2a19c1c389853e (diff) | |
parent | e06c4e5775b1efc4e476f2430439e45867775f5f (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
sh: Fix fs.h removal from mm.h regressions.
sh: fix get_wchan() for SH kernels without framepointers
sh: arch/sh/boot - fix shell usage
rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts.
sh: remove support for sh7300 and solution engine 7300
sh: Add sh to the CC_OPTIMIZE_FOR_SIZE dependencies.
sh: Kill off virt_to_bus()/bus_to_virt().
sh: sh-sci - fix SH7708 support
sh: Restrict DSP support to specific CPUs.
sh: Silence sq compile warning on sh4 nommu.
sh: Kill the rest of the SE73180 cruft.
sh: remove support for sh73180 and solution engine 73180
sh: remove old broken pint code
sh: Reclaim beginning of P3 space for vmalloc area.
sh: Fix Dreamcast DMA issues.
sh: Add kmap_coherent()/kunmap_coherent() interface for SH-4.
Diffstat (limited to 'arch/sh/kernel/process.c')
-rw-r--r-- | arch/sh/kernel/process.c | 7 |
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 | ||
475 | unsigned long get_wchan(struct task_struct *p) | 476 | unsigned 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 | } |