diff options
author | Jeff Hartmann <jhartmann@valinux.com> | 2000-04-05 18:48:23 +0000 |
---|---|---|
committer | Jeff Hartmann <jhartmann@valinux.com> | 2000-04-05 18:48:23 +0000 |
commit | 1dcfddf9154bcce3d6e004acee7dd503c27d0f0b (patch) | |
tree | acc9712c1dd5a6dfa2660b3f88c406198345c362 /linux/i810_drv.c | |
parent | ba1b1ae3806490cce16a9c8957b52cd74967f463 (diff) |
Fixed reclaim Oops
Diffstat (limited to 'linux/i810_drv.c')
-rw-r--r-- | linux/i810_drv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linux/i810_drv.c b/linux/i810_drv.c index d3b35c49..f1c83250 100644 --- a/linux/i810_drv.c +++ b/linux/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); |