diff options
Diffstat (limited to 'drivers/gpu/drm/drm_fops.c')
| -rw-r--r-- | drivers/gpu/drm/drm_fops.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c index 4911e1d1dcf..6263b014759 100644 --- a/drivers/gpu/drm/drm_fops.c +++ b/drivers/gpu/drm/drm_fops.c @@ -182,7 +182,7 @@ int drm_stub_open(struct inode *inode, struct file *filp)  		goto out;  	old_fops = filp->f_op; -	filp->f_op = fops_get(&dev->driver->fops); +	filp->f_op = fops_get(dev->driver->fops);  	if (filp->f_op == NULL) {  		filp->f_op = old_fops;  		goto out; @@ -487,6 +487,11 @@ int drm_release(struct inode *inode, struct file *filp)  		  (long)old_encode_dev(file_priv->minor->device),  		  dev->open_count); +	/* Release any auth tokens that might point to this file_priv, +	   (do that under the drm_global_mutex) */ +	if (file_priv->magic) +		(void) drm_remove_magic(file_priv->master, file_priv->magic); +  	/* if the master has gone away we can't do anything with the lock */  	if (file_priv->minor->master)  		drm_master_release(dev, filp);  | 
