aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/futex.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/futex.c b/kernel/futex.c
index 3019b92e6917..5696d38cc71d 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -791,10 +791,9 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this)
791 new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); 791 new_owner = rt_mutex_next_owner(&pi_state->pi_mutex);
792 792
793 /* 793 /*
794 * This happens when we have stolen the lock and the original 794 * It is possible that the next waiter (the one that brought
795 * pending owner did not enqueue itself back on the rt_mutex. 795 * this owner to the kernel) timed out and is no longer
796 * Thats not a tragedy. We know that way, that a lock waiter 796 * waiting on the lock.
797 * is on the fly. We make the futex_q waiter the pending owner.
798 */ 797 */
799 if (!new_owner) 798 if (!new_owner)
800 new_owner = this->task; 799 new_owner = this->task;