diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2015-11-20 14:43:50 -0500 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2015-11-26 09:47:38 -0500 |
commit | 025af189fb44250206dd8a32fa4a682392af3301 (patch) | |
tree | 93faacb2ab517087da07341fc4b2fadb4eb6674c /drivers/gpu | |
parent | 2f1371614a5d49428846b90673a89036518dffad (diff) |
drm/ttm: Fixed a read/write lock imbalance
In ttm_write_lock(), the uninterruptible path should call
__ttm_write_lock() not __ttm_read_lock(). This fixes a vmwgfx hang
on F23 start up.
syeh: Extracted this from one of Thomas' internal patches.
Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_lock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_lock.c b/drivers/gpu/drm/ttm/ttm_lock.c index 6a954544727f..f154fb1929bd 100644 --- a/drivers/gpu/drm/ttm/ttm_lock.c +++ b/drivers/gpu/drm/ttm/ttm_lock.c | |||
@@ -180,7 +180,7 @@ int ttm_write_lock(struct ttm_lock *lock, bool interruptible) | |||
180 | spin_unlock(&lock->lock); | 180 | spin_unlock(&lock->lock); |
181 | } | 181 | } |
182 | } else | 182 | } else |
183 | wait_event(lock->queue, __ttm_read_lock(lock)); | 183 | wait_event(lock->queue, __ttm_write_lock(lock)); |
184 | 184 | ||
185 | return ret; | 185 | return ret; |
186 | } | 186 | } |