X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fsemaphore.c;h=94a62c0d4ade651b8c4e2a5c7cbb8ff26110738f;hb=df0cc0539b4127bd02f64de2c335b4af1fdb3845;hp=5c2942e768cdd44371ae305d5870abfe7428732c;hpb=233607dbbc823caf685e778cabc49fb7f679900b;p=linux-2.6-omap-h63xx.git diff --git a/kernel/semaphore.c b/kernel/semaphore.c index 5c2942e768c..94a62c0d4ad 100644 --- a/kernel/semaphore.c +++ b/kernel/semaphore.c @@ -31,6 +31,7 @@ #include #include #include +#include static noinline void __down(struct semaphore *sem); static noinline int __down_interruptible(struct semaphore *sem); @@ -211,9 +212,7 @@ static inline int __sched __down_common(struct semaphore *sem, long state, waiter.up = 0; for (;;) { - if (state == TASK_INTERRUPTIBLE && signal_pending(task)) - goto interrupted; - if (state == TASK_KILLABLE && fatal_signal_pending(task)) + if (signal_pending_state(state, task)) goto interrupted; if (timeout <= 0) goto timed_out;