[PATCH 3/3] drm: Assert that BO is locked in drm_gem_vram_{pin, unpin}_locked()
Thomas Zimmermann
tzimmermann at suse.de
Tue May 21 11:08:31 UTC 2019
We may not call drm_gem_vram_{pin,unpin}_locked() with an unlocked
BO. Now test for this.
Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
---
drivers/gpu/drm/drm_gem_vram_helper.c | 4 ++++
1 file changed, 4 insertions(+)
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;
--
2.21.0
More information about the dri-devel
mailing list