summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/drm_fops.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-05-19 22:30:40 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-19 22:30:40 +0200
commit860da5e578c25d1ab4528c0d1ad13f9969e3490f (patch)
treeaa9d8f843223b6acfd86513881fa7aac2a7b439b /drivers/char/drm/drm_fops.c
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes (diff)
parentdrm/i915: save and restore dsparb and d_state registers. (diff)
downloadlinux-860da5e578c25d1ab4528c0d1ad13f9969e3490f.tar.xz
linux-860da5e578c25d1ab4528c0d1ad13f9969e3490f.zip
Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: save and restore dsparb and d_state registers. drm/i915: fix off by one in VGA save/restore of AR & CR regs. drm: disable tasklets not IRQs when taking the drm lock spinlock Revert "drm/vbl rework: rework how the drm deals with vblank."
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 68f0da801ed8..d2e6da85f58a 100644
--- a/drivers/char/drm/drm_fops.c
+++ b/drivers/char/drm/drm_fops.c
@@ -323,7 +323,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();
@@ -355,11 +354,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();