diff --git a/[refs] b/[refs] index 3b3948a217c6..78ee5be75fb6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 33333373c40633cec8791a284e84e4b116522c8f +refs/heads/master: da04c035039b5288039a5bf2d340866114ae994b diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 81b3a96ed2d0..1f31a528fdba 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -294,6 +294,10 @@ static inline void prepare_lock_switch(runqueue_t *rq, task_t *next) static inline void finish_lock_switch(runqueue_t *rq, task_t *prev) { +#ifdef CONFIG_DEBUG_SPINLOCK + /* this is a valid case when another task releases the spinlock */ + rq->lock.owner = current; +#endif spin_unlock_irq(&rq->lock); } @@ -1529,10 +1533,6 @@ static inline void finish_task_switch(runqueue_t *rq, task_t *prev) * Manfred Spraul */ prev_task_flags = prev->flags; -#ifdef CONFIG_DEBUG_SPINLOCK - /* this is a valid case when another task releases the spinlock */ - rq->lock.owner = current; -#endif finish_arch_switch(prev); finish_lock_switch(rq, prev); if (mm)