From 1dcfddf9154bcce3d6e004acee7dd503c27d0f0b Mon Sep 17 00:00:00 2001 From: Jeff Hartmann Date: Wed, 5 Apr 2000 18:48:23 +0000 Subject: Fixed reclaim Oops --- linux-core/i810_drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'linux-core/i810_drv.c') diff --git a/linux-core/i810_drv.c b/linux-core/i810_drv.c index d3b35c49..f1c83250 100644 --- a/linux-core/i810_drv.c +++ b/linux-core/i810_drv.c @@ -499,7 +499,7 @@ int i810_release(struct inode *inode, struct file *filp) DRM_DEBUG("pid = %d, device = 0x%x, open_count = %d\n", current->pid, dev->device, dev->open_count); - if (_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock) + if (dev->lock.hw_lock && _DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock) && dev->lock.pid == current->pid) { i810_reclaim_buffers(dev, priv->pid); DRM_ERROR("Process %d dead, freeing lock for context %d\n", @@ -513,7 +513,7 @@ int i810_release(struct inode *inode, struct file *filp) hardware at this point, possibly processed via a callback to the X server. */ - } else { + } else if (dev->lock.hw_lock) { /* The lock is required to reclaim buffers */ DECLARE_WAITQUEUE(entry, current); add_wait_queue(&dev->lock.lock_queue, &entry); -- cgit v1.2.3