drm: Unlink dead file_priv from list of active files first
[deliverable/linux.git] / drivers / gpu / drm / drm_fops.c
index bc583fe51e45dca0cc708a4f38a5226d662d7227..8f91062db5b668f54d52e99afec510b24c990c88 100644 (file)
@@ -425,6 +425,10 @@ int drm_release(struct inode *inode, struct file *filp)
 
        DRM_DEBUG("open_count = %d\n", dev->open_count);
 
+       mutex_lock(&dev->struct_mutex);
+       list_del(&file_priv->lhead);
+       mutex_unlock(&dev->struct_mutex);
+
        if (dev->driver->preclose)
                dev->driver->preclose(dev, file_priv);
 
@@ -518,10 +522,6 @@ int drm_release(struct inode *inode, struct file *filp)
        file_priv->is_master = 0;
        mutex_unlock(&dev->master_mutex);
 
-       mutex_lock(&dev->struct_mutex);
-       list_del(&file_priv->lhead);
-       mutex_unlock(&dev->struct_mutex);
-
        if (dev->driver->postclose)
                dev->driver->postclose(dev, file_priv);
 
This page took 0.030793 seconds and 5 git commands to generate.