diff options
-rw-r--r-- | kernel/futex.c | 7 |
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; |