From 10b9a116a7b7fe3acf0848de9e0cf40f8e1bcd75 Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Wed, 23 Apr 2008 17:33:09 +0200 Subject: Don't disable IRQs, just tasklets, when taking the drm lock spinlock. --- linux-core/drm_fops.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'linux-core/drm_fops.c') diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c index a4c76f75..3bc25f24 100644 --- a/linux-core/drm_fops.c +++ b/linux-core/drm_fops.c @@ -373,7 +373,6 @@ int drm_release(struct inode *inode, struct file *filp) struct drm_file *file_priv = filp->private_data; struct drm_device *dev = file_priv->minor->dev; int retcode = 0; - unsigned long irqflags; lock_kernel(); @@ -404,11 +403,9 @@ int drm_release(struct inode *inode, struct file *filp) */ do{ - spin_lock_irqsave(&dev->lock.spinlock, - irqflags); + spin_lock_bh(&dev->lock.spinlock); locked = dev->lock.idle_has_lock; - spin_unlock_irqrestore(&dev->lock.spinlock, - irqflags); + spin_unlock_bh(&dev->lock.spinlock); if (locked) break; schedule(); -- cgit v1.2.3