Skip to content
/ linux Public

Commit 595227c

Browse files
tdzSasha Levin
authored andcommitted
drm/tests: shmem: Add clean-up action to unpin pages
[ Upstream commit b47b9ec ] Automatically unpin pages on cleanup. The test currently fails with the error [ 58.246263] drm-kunit-mock-device drm_gem_shmem_test_get_sg_table.drm-kunit-mock-device: [drm] drm_WARN_ON(refcount_read(&shmem->pages_pin_count)) while cleaning up the GEM object. The pin count has to be zero at this point. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Fixes: d586b53 ("drm/shmem-helper: Add and use pages_pin_count") Cc: dri-devel@lists.freedesktop.org Cc: <stable@vger.kernel.org> # v6.16+ Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Link: https://patch.msgid.link/20251212160317.287409-3-tzimmermann@suse.de Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 496e765 commit 595227c

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/gpu/drm/tests/drm_gem_shmem_test.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ KUNIT_DEFINE_ACTION_WRAPPER(sg_free_table_wrapper, sg_free_table,
3434
KUNIT_DEFINE_ACTION_WRAPPER(drm_gem_shmem_free_wrapper, drm_gem_shmem_free,
3535
struct drm_gem_shmem_object *);
3636

37+
KUNIT_DEFINE_ACTION_WRAPPER(drm_gem_shmem_unpin_wrapper, drm_gem_shmem_unpin,
38+
struct drm_gem_shmem_object *);
39+
3740
/*
3841
* Test creating a shmem GEM object backed by shmem buffer. The test
3942
* case succeeds if the GEM object is successfully allocated with the
@@ -212,6 +215,9 @@ static void drm_gem_shmem_test_get_sg_table(struct kunit *test)
212215
ret = drm_gem_shmem_pin(shmem);
213216
KUNIT_ASSERT_EQ(test, ret, 0);
214217

218+
ret = kunit_add_action_or_reset(test, drm_gem_shmem_unpin_wrapper, shmem);
219+
KUNIT_ASSERT_EQ(test, ret, 0);
220+
215221
sgt = drm_gem_shmem_get_sg_table(shmem);
216222
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, sgt);
217223
KUNIT_EXPECT_NULL(test, shmem->sgt);

0 commit comments

Comments
 (0)