aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/locking/rtmutex.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-03-23 10:13:36 +0100
committerIngo Molnar <mingo@kernel.org>2015-03-23 10:13:36 +0100
commiteda2360ad18b7cde87728fad85c6735a52c2576e (patch)
tree2bc28704b40686c0d3d0fd5aa7d000f9d9dd153f /kernel/locking/rtmutex.c
parentx86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths (diff)
parentLinux 4.0-rc5 (diff)
downloadlinux-dev-eda2360ad18b7cde87728fad85c6735a52c2576e.tar.xz
linux-dev-eda2360ad18b7cde87728fad85c6735a52c2576e.zip
Merge tag 'v4.0-rc5' into x86/fpu, to prevent conflicts
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/locking/rtmutex.c')
-rw-r--r--kernel/locking/rtmutex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 3059bc2f022d..6357265a31ad 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -1193,7 +1193,9 @@ rt_mutex_slowlock(struct rt_mutex *lock, int state,
ret = __rt_mutex_slowlock(lock, state, timeout, &waiter);
if (unlikely(ret)) {
- remove_waiter(lock, &waiter);
+ __set_current_state(TASK_RUNNING);
+ if (rt_mutex_has_waiters(lock))
+ remove_waiter(lock, &waiter);
rt_mutex_handle_deadlock(ret, chwalk, &waiter);
}