diff options
Diffstat (limited to 'kernel/futex.c')
-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 52075633373f..b766d28accd6 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -826,10 +826,9 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this) | |||
826 | new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); | 826 | new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); |
827 | 827 | ||
828 | /* | 828 | /* |
829 | * This happens when we have stolen the lock and the original | 829 | * It is possible that the next waiter (the one that brought |
830 | * pending owner did not enqueue itself back on the rt_mutex. | 830 | * this owner to the kernel) timed out and is no longer |
831 | * Thats not a tragedy. We know that way, that a lock waiter | 831 | * waiting on the lock. |
832 | * is on the fly. We make the futex_q waiter the pending owner. | ||
833 | */ | 832 | */ |
834 | if (!new_owner) | 833 | if (!new_owner) |
835 | new_owner = this->task; | 834 | new_owner = this->task; |