X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fsemaphore.c;h=94a62c0d4ade651b8c4e2a5c7cbb8ff26110738f;hb=8c5a1cf0ad3ac5fcdf51314a63b16a440870f6a2;hp=1a064adab658cbacc72c2fe8a88ab7e6f3a2efeb;hpb=ed9e4996d9a123b7550e63713d563f524fa9d9f0;p=linux-2.6 diff --git a/kernel/semaphore.c b/kernel/semaphore.c index 1a064adab6..94a62c0d4a 100644 --- a/kernel/semaphore.c +++ b/kernel/semaphore.c @@ -54,7 +54,6 @@ void down(struct semaphore *sem) { unsigned long flags; - ftrace_special(sem->count, 0, __LINE__); spin_lock_irqsave(&sem->lock, flags); if (likely(sem->count > 0)) sem->count--; @@ -213,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;