X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fmutex.c;h=12c779dc65d48a56f1941cc41d73f9593828cf0a;hb=9ea319b61613085f501a79cf8d405cb221d084f3;hp=d046a345d365793e84076e2517ec02cdd11bc40d;hpb=f0e2dcffae8701f00b34bce90e762eb798dea5b1;p=linux-2.6 diff --git a/kernel/mutex.c b/kernel/mutex.c index d046a345d3..12c779dc65 100644 --- a/kernel/mutex.c +++ b/kernel/mutex.c @@ -34,6 +34,7 @@ /*** * mutex_init - initialize the mutex * @lock: the mutex to be initialized + * @key: the lock_class_key for the class; used by mutex lock debugging * * Initialize the mutex to unlocked state. * @@ -165,10 +166,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, * got a signal? (This code gets eliminated in the * TASK_UNINTERRUPTIBLE case.) */ - if (unlikely((state == TASK_INTERRUPTIBLE && - signal_pending(task)) || - (state == TASK_KILLABLE && - fatal_signal_pending(task)))) { + if (unlikely(signal_pending_state(state, task))) { mutex_remove_waiter(lock, &waiter, task_thread_info(task)); mutex_release(&lock->dep_map, 1, ip);