diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/sched.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 3111d74a5a85..4e2e44e3cc7b 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1832,7 +1832,8 @@ static inline int double_lock_balance(struct rq *this_rq, struct rq *busiest) static inline void double_unlock_balance(struct rq *this_rq, struct rq *busiest) __releases(busiest->lock) { - raw_spin_unlock(&busiest->lock); + if (this_rq != busiest) + raw_spin_unlock(&busiest->lock); lock_set_subclass(&this_rq->lock.dep_map, 0, _RET_IP_); } |
