aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/drm_fops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/drm/drm_fops.c')
-rw-r--r--drivers/char/drm/drm_fops.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c
index 7a25726f07f7..851a53f1acce 100644
--- a/drivers/char/drm/drm_fops.c
+++ b/drivers/char/drm/drm_fops.c
@@ -328,7 +328,6 @@ int drm_release(struct inode *inode, struct file *filp)
328 struct drm_file *file_priv = filp->private_data; 328 struct drm_file *file_priv = filp->private_data;
329 struct drm_device *dev = file_priv->minor->dev; 329 struct drm_device *dev = file_priv->minor->dev;
330 int retcode = 0; 330 int retcode = 0;
331 unsigned long irqflags;
332 331
333 lock_kernel(); 332 lock_kernel();
334 333
@@ -360,11 +359,9 @@ int drm_release(struct inode *inode, struct file *filp)
360 */ 359 */
361 360
362 do{ 361 do{
363 spin_lock_irqsave(&dev->lock.spinlock, 362 spin_lock_bh(&dev->lock.spinlock);
364 irqflags);
365 locked = dev->lock.idle_has_lock; 363 locked = dev->lock.idle_has_lock;
366 spin_unlock_irqrestore(&dev->lock.spinlock, 364 spin_unlock_bh(&dev->lock.spinlock);
367 irqflags);
368 if (locked) 365 if (locked)
369 break; 366 break;
370 schedule(); 367 schedule();