Bug #112196: auth.c uses semaphores while holding spinlocks Make spinlocked

region smaller to avoid semaphore.
main
Rik Faith 2000-08-17 20:26:11 +00:00
parent 761ffd63f3
commit f75ec3010a
1 changed files with 2 additions and 2 deletions

View File

@ -126,12 +126,12 @@ int drm_getmagic(struct inode *inode, struct file *filp, unsigned int cmd,
if (priv->magic) {
auth.magic = priv->magic;
} else {
spin_lock(&lock);
do {
spin_lock(&lock);
if (!sequence) ++sequence; /* reserve 0 */
auth.magic = sequence++;
spin_unlock(&lock);
} while (drm_find_file(dev, auth.magic));
spin_unlock(&lock);
priv->magic = auth.magic;
drm_add_magic(dev, priv, auth.magic);
}