X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fprocess.c;h=d7365b958f7eb7040539a70a73c5ac3769e6a3f4;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=f04dea6a7ef708bad02617427eeadd10390a441d;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index f04dea6a7..d7365b958 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -262,7 +262,7 @@ sys_clone(unsigned long clone_flags, unsigned long usp, if(usp == 0) usp = regs->gr[30]; - return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, user_tid, NULL); + return do_fork(clone_flags, usp, regs, 0, user_tid, NULL); } int @@ -380,18 +380,14 @@ get_wchan(struct task_struct *p) /* * These bracket the sleeping functions.. */ -# define first_sched ((unsigned long) scheduling_functions_start_here) -# define last_sched ((unsigned long) scheduling_functions_end_here) unwind_frame_init_from_blocked_task(&info, p); do { if (unwind_once(&info) < 0) return 0; ip = info.ip; - if (ip < first_sched || ip >= last_sched) + if (!in_sched_functions(ip)) return ip; } while (count++ < 16); return 0; -# undef first_sched -# undef last_sched }