Currently only one waiter is woken up, leaving other waiters
hanging waiting for the DRM lock.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
                                dev->sigdata.lock = NULL;
                        master->lock.hw_lock = NULL;   /* SHM removed */
                        master->lock.file_priv = NULL;
-                       wake_up_interruptible(&master->lock.lock_queue);
+                       wake_up_interruptible_all(&master->lock.lock_queue);
                }
                break;
        case _DRM_AGP:
 
                        dev->sigdata.lock = NULL;
                master->lock.hw_lock = NULL;
                master->lock.file_priv = NULL;
-               wake_up_interruptible(&master->lock.lock_queue);
+               wake_up_interruptible_all(&master->lock.lock_queue);
        }
 
        drm_free(master, sizeof(*master), DRM_MEM_DRIVER);