summaryrefslogtreecommitdiff
path: root/linux-core/drm_lock.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2007-02-14 15:32:08 +0100
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2007-02-14 15:32:08 +0100
commit35eb12d8bf91e7a3b0702385fa47b648194803c4 (patch)
tree6403fad22bc5e0199974587826b67b1c24a384a7 /linux-core/drm_lock.c
parentf524870184b29885c6207af21fcb45c47fbaa576 (diff)
Fix multiple spinlock unlocking
Diffstat (limited to 'linux-core/drm_lock.c')
-rw-r--r--linux-core/drm_lock.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/linux-core/drm_lock.c b/linux-core/drm_lock.c
index a4b1a63f..f02df36b 100644
--- a/linux-core/drm_lock.c
+++ b/linux-core/drm_lock.c
@@ -224,7 +224,6 @@ int drm_lock_take(drm_lock_data_t *lock_data,
if (_DRM_LOCKING_CONTEXT(old) == context) {
if (old & _DRM_LOCK_HELD) {
- spin_unlock(&lock_data->spinlock);
if (context != DRM_KERNEL_CONTEXT) {
DRM_ERROR("%d holds heavyweight lock\n",
context);
@@ -236,10 +235,8 @@ int drm_lock_take(drm_lock_data_t *lock_data,
if ((_DRM_LOCKING_CONTEXT(new)) == context && (new & _DRM_LOCK_HELD)) {
/* Have lock */
- spin_unlock(&lock_data->spinlock);
return 1;
}
- spin_unlock(&lock_data->spinlock);
return 0;
}