@@ -189,7 +189,7 @@ void lock_acquire(struct lock * lock)
spinlock_acquire(&(lock->spin));
- if (lock->owner)
+ while (lock->owner)
{
wchan_lock(lock->wc);
spinlock_release(&(lock->spin));