[3/3] drm: Assert that BO is locked in drm_gem_vram_{pin, unpin}_locked()

Submitted by Thomas Zimmermann on May 21, 2019, 11:08 a.m.

Details

Message ID 20190521110831.20200-4-tzimmermann@suse.de
State Accepted
Commit 9977e5b43776fd0f6cc62c29b4b7ade16bfdf649
Headers show
Series "Various clean-up patches for GEM VRAM" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Thomas Zimmermann May 21, 2019, 11:08 a.m.
We may not call drm_gem_vram_{pin,unpin}_locked() with an unlocked
BO. Now test for this.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_gem_vram_helper.c | 4 ++++
 1 file changed, 4 insertions(+)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index aefb0c361486..7380a06a582c 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -284,6 +284,8 @@  int drm_gem_vram_pin_locked(struct drm_gem_vram_object *gbo,
 	int i, ret;
 	struct ttm_operation_ctx ctx = { false, false };
 
+	lockdep_assert_held(&gbo->bo.resv->lock.base);
+
 	if (gbo->pin_count) {
 		++gbo->pin_count;
 		return 0;
@@ -361,6 +363,8 @@  int drm_gem_vram_unpin_locked(struct drm_gem_vram_object *gbo)
 	int i, ret;
 	struct ttm_operation_ctx ctx = { false, false };
 
+	lockdep_assert_held(&gbo->bo.resv->lock.base);
+
 	if (WARN_ON_ONCE(!gbo->pin_count))
 		return 0;