aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/locking/rtmutex.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-03-23 10:50:29 +0100
committerIngo Molnar <mingo@kernel.org>2015-03-23 10:50:29 +0100
commite1b63dec2ddba654c7ca75996284e453f32d1af7 (patch)
treec48fbfdb84b4e1b6b416b0e2ce7e14cd1350c5f5 /kernel/locking/rtmutex.c
parentsched/idle/x86: Optimize unnecessary mwait_idle() resched IPIs (diff)
parentsched: Fix RLIMIT_RTTIME when PI-boosting to RT (diff)
downloadlinux-dev-e1b63dec2ddba654c7ca75996284e453f32d1af7.tar.xz
linux-dev-e1b63dec2ddba654c7ca75996284e453f32d1af7.zip
Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new patches
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);
}