aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/locking/rtmutex_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/locking/rtmutex_common.h')
-rw-r--r--kernel/locking/rtmutex_common.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/locking/rtmutex_common.h b/kernel/locking/rtmutex_common.h
index 68686b3ec3c1..d1d62f942be2 100644
--- a/kernel/locking/rtmutex_common.h
+++ b/kernel/locking/rtmutex_common.h
@@ -52,12 +52,13 @@ static inline int rt_mutex_has_waiters(struct rt_mutex *lock)
52static inline struct rt_mutex_waiter * 52static inline struct rt_mutex_waiter *
53rt_mutex_top_waiter(struct rt_mutex *lock) 53rt_mutex_top_waiter(struct rt_mutex *lock)
54{ 54{
55 struct rt_mutex_waiter *w; 55 struct rb_node *leftmost = rb_first_cached(&lock->waiters);
56 56 struct rt_mutex_waiter *w = NULL;
57 w = rb_entry(lock->waiters.rb_leftmost,
58 struct rt_mutex_waiter, tree_entry);
59 BUG_ON(w->lock != lock);
60 57
58 if (leftmost) {
59 w = rb_entry(leftmost, struct rt_mutex_waiter, tree_entry);
60 BUG_ON(w->lock != lock);
61 }
61 return w; 62 return w;
62} 63}
63 64