Patrik Jakobsson 907589
From 93eea624526fc7d070cdae463408665824075f54 Mon Sep 17 00:00:00 2001
Patrik Jakobsson 907589
From: Chris Wilson <chris.p.wilson@linux.intel.com>
Patrik Jakobsson 907589
Date: Tue, 17 Jan 2023 13:32:34 +0100
Patrik Jakobsson 907589
Subject: drm/i915/selftests: Unwind hugepages to drop wakeref on error
Patrik Jakobsson 907589
Git-commit: 93eea624526fc7d070cdae463408665824075f54
Patrik Jakobsson 907589
Patch-mainline: v6.2-rc5
Patrik Jakobsson 907589
References: git-fixes
Patrik Jakobsson 907589
Patrik Jakobsson 907589
Make sure that upon error after we have acquired the wakeref we do
Patrik Jakobsson 907589
release it again.
Patrik Jakobsson 907589
Patrik Jakobsson 907589
v2: add another missing "goto out_wf"(Andi).
Patrik Jakobsson 907589
Patrik Jakobsson 907589
Fixes: 027c38b4121e ("drm/i915/selftests: Grab the runtime pm in shrink_thp")
Patrik Jakobsson 907589
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Patrik Jakobsson 907589
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Patrik Jakobsson 907589
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Patrik Jakobsson 907589
Signed-off-by: Chris Wilson <chris.p.wilson@linux.intel.com>
Patrik Jakobsson 907589
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Patrik Jakobsson 907589
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Patrik Jakobsson 907589
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Patrik Jakobsson 907589
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Patrik Jakobsson 907589
Link: https://patchwork.freedesktop.org/patch/msgid/20230117123234.26487-1-nirmoy.das@intel.com
Patrik Jakobsson 907589
(cherry picked from commit 14ec40a88210151296fff3e981c1a7196ad9bf55)
Patrik Jakobsson 907589
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Patrik Jakobsson 907589
Acked-by: Patrik Jakobsson <pjakobsson@suse.de>
Patrik Jakobsson 907589
---
Patrik Jakobsson 907589
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 8 ++++----
Patrik Jakobsson 907589
 1 file changed, 4 insertions(+), 4 deletions(-)
Patrik Jakobsson 907589
Patrik Jakobsson 907589
diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
Patrik Jakobsson 907589
index beaf27e09e8a..977dead10ab5 100644
Patrik Jakobsson 907589
--- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
Patrik Jakobsson 907589
+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
Patrik Jakobsson 907589
@@ -1847,7 +1847,7 @@ static int igt_shrink_thp(void *arg)
Patrik Jakobsson 907589
 			I915_SHRINK_ACTIVE);
Patrik Jakobsson 907589
 	i915_vma_unpin(vma);
Patrik Jakobsson 907589
 	if (err)
Patrik Jakobsson 907589
-		goto out_put;
Patrik Jakobsson 907589
+		goto out_wf;
Patrik Jakobsson 907589
 
Patrik Jakobsson 907589
 	/*
Patrik Jakobsson 907589
 	 * Now that the pages are *unpinned* shrinking should invoke
Patrik Jakobsson 907589
@@ -1863,19 +1863,19 @@ static int igt_shrink_thp(void *arg)
Patrik Jakobsson 907589
 		pr_err("unexpected pages mismatch, should_swap=%s\n",
Patrik Jakobsson 907589
 		       str_yes_no(should_swap));
Patrik Jakobsson 907589
 		err = -EINVAL;
Patrik Jakobsson 907589
-		goto out_put;
Patrik Jakobsson 907589
+		goto out_wf;
Patrik Jakobsson 907589
 	}
Patrik Jakobsson 907589
 
Patrik Jakobsson 907589
 	if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
Patrik Jakobsson 907589
 		pr_err("unexpected residual page-size bits, should_swap=%s\n",
Patrik Jakobsson 907589
 		       str_yes_no(should_swap));
Patrik Jakobsson 907589
 		err = -EINVAL;
Patrik Jakobsson 907589
-		goto out_put;
Patrik Jakobsson 907589
+		goto out_wf;
Patrik Jakobsson 907589
 	}
Patrik Jakobsson 907589
 
Patrik Jakobsson 907589
 	err = i915_vma_pin(vma, 0, 0, flags);
Patrik Jakobsson 907589
 	if (err)
Patrik Jakobsson 907589
-		goto out_put;
Patrik Jakobsson 907589
+		goto out_wf;
Patrik Jakobsson 907589
 
Patrik Jakobsson 907589
 	while (n--) {
Patrik Jakobsson 907589
 		err = cpu_check(obj, n, 0xdeadbeaf);
Patrik Jakobsson 907589
-- 
Patrik Jakobsson 907589
2.39.0
Patrik Jakobsson 907589