]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/futex.c
AT91RM9200 Ethernet: Support additional PHYs
[linux-2.6-omap-h63xx.git] / kernel / futex.c
index e749e7df14b1a598c201f61b4d9b5bf8fb7c3d97..5a270b5e3f95de173e44194cd7e5b3d511ec6ff8 100644 (file)
@@ -565,6 +565,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this)
        if (!pi_state)
                return -EINVAL;
 
+       spin_lock(&pi_state->pi_mutex.wait_lock);
        new_owner = rt_mutex_next_owner(&pi_state->pi_mutex);
 
        /*
@@ -604,6 +605,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this)
        pi_state->owner = new_owner;
        spin_unlock_irq(&new_owner->pi_lock);
 
+       spin_unlock(&pi_state->pi_mutex.wait_lock);
        rt_mutex_unlock(&pi_state->pi_mutex);
 
        return 0;