summaryrefslogtreecommitdiff
path: root/linux-core/i810_drv.c
diff options
context:
space:
mode:
authorJeff Hartmann <jhartmann@valinux.com>2000-04-05 18:48:23 +0000
committerJeff Hartmann <jhartmann@valinux.com>2000-04-05 18:48:23 +0000
commit1dcfddf9154bcce3d6e004acee7dd503c27d0f0b (patch)
treeacc9712c1dd5a6dfa2660b3f88c406198345c362 /linux-core/i810_drv.c
parentba1b1ae3806490cce16a9c8957b52cd74967f463 (diff)
Fixed reclaim Oops
Diffstat (limited to 'linux-core/i810_drv.c')
-rw-r--r--linux-core/i810_drv.c4
1 files changed, 2 insertions, 2 deletions
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);