mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
drm/i915/selftests: Unwind hugepages to drop wakeref on error
[ Upstream commit93eea62452] Make sure that upon error after we have acquired the wakeref we do release it again. v2: add another missing "goto out_wf"(Andi). Fixes:027c38b412("drm/i915/selftests: Grab the runtime pm in shrink_thp") Cc: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Chris Wilson <chris.p.wilson@linux.intel.com> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230117123234.26487-1-nirmoy.das@intel.com (cherry picked from commit14ec40a882) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
07bc32e53c
commit
d5fb544b4c
@@ -1697,7 +1697,7 @@ static int igt_shrink_thp(void *arg)
|
||||
I915_SHRINK_ACTIVE);
|
||||
i915_vma_unpin(vma);
|
||||
if (err)
|
||||
goto out_put;
|
||||
goto out_wf;
|
||||
|
||||
/*
|
||||
* Now that the pages are *unpinned* shrinking should invoke
|
||||
@@ -1713,19 +1713,19 @@ static int igt_shrink_thp(void *arg)
|
||||
pr_err("unexpected pages mismatch, should_swap=%s\n",
|
||||
str_yes_no(should_swap));
|
||||
err = -EINVAL;
|
||||
goto out_put;
|
||||
goto out_wf;
|
||||
}
|
||||
|
||||
if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
|
||||
pr_err("unexpected residual page-size bits, should_swap=%s\n",
|
||||
str_yes_no(should_swap));
|
||||
err = -EINVAL;
|
||||
goto out_put;
|
||||
goto out_wf;
|
||||
}
|
||||
|
||||
err = i915_vma_pin(vma, 0, 0, flags);
|
||||
if (err)
|
||||
goto out_put;
|
||||
goto out_wf;
|
||||
|
||||
while (n--) {
|
||||
err = cpu_check(obj, n, 0xdeadbeaf);
|
||||
|
||||
Reference in New Issue
Block a user