X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc%2Fkernel%2Fprocess.c;h=19515a1f9734f3f81cdce6f1dc12a83e0689aa99;hb=720b94a4e7548e78be55ab8fd3be4686c57dc808;hp=7e47f388e1a435ac4b22a3a33f8105c0f467509e;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/ppc/kernel/process.c b/arch/ppc/kernel/process.c index 7e47f388e..19515a1f9 100644 --- a/arch/ppc/kernel/process.c +++ b/arch/ppc/kernel/process.c @@ -668,12 +668,6 @@ void __init ll_puts(const char *s) } #endif -/* - * These bracket the sleeping functions.. - */ -#define first_sched ((unsigned long) scheduling_functions_start_here) -#define last_sched ((unsigned long) scheduling_functions_end_here) - unsigned long get_wchan(struct task_struct *p) { unsigned long ip, sp; @@ -688,7 +682,7 @@ unsigned long get_wchan(struct task_struct *p) return 0; if (count > 0) { ip = *(unsigned long *)(sp + 4); - if (ip < first_sched || ip >= last_sched) + if (!in_sched_functions(ip)) return ip; } } while (count++ < 16);