summaryrefslogtreecommitdiff
path: root/linux/drm_drv.h
diff options
context:
space:
mode:
authorMichel Daenzer <michel@daenzer.net>2002-09-21 23:18:54 +0000
committerMichel Daenzer <michel@daenzer.net>2002-09-21 23:18:54 +0000
commitcfa1a918b6d6b2d0fd9ae0f58f5b86a15c443dcb (patch)
tree0b0c8cf97cc6323ed332c3595ce6741cae14d704 /linux/drm_drv.h
parentc4318a5c642d15ad3847a0b7a3185abf0c1ca219 (diff)
make sure we never oops because the hardware lock pointer in the sigdata
structure is out of date
Diffstat (limited to 'linux/drm_drv.h')
-rw-r--r--linux/drm_drv.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux/drm_drv.h b/linux/drm_drv.h
index 81bd78948..7e2cfd8c5 100644
--- a/linux/drm_drv.h
+++ b/linux/drm_drv.h
@@ -306,7 +306,7 @@ static int DRM(setup)( drm_device_t *dev )
dev->map_count = 0;
dev->vmalist = NULL;
- dev->lock.hw_lock = NULL;
+ dev->sigdata.lock = dev->lock.hw_lock = NULL;
init_waitqueue_head( &dev->lock.lock_queue );
dev->queue_count = 0;
dev->queue_reserved = 0;
@@ -491,7 +491,7 @@ static int DRM(takedown)( drm_device_t *dev )
DRM(dma_takedown)( dev );
#endif
if ( dev->lock.hw_lock ) {
- dev->lock.hw_lock = NULL; /* SHM removed */
+ dev->sigdata.lock = dev->lock.hw_lock = NULL; /* SHM removed */
dev->lock.pid = 0;
wake_up_interruptible( &dev->lock.lock_queue );
}