]> Git Repo - J-linux.git/commitdiff
drm/xe: fix the ERR_PTR() returned on failure to allocate tiny pt
authorMirsad Todorovac <[email protected]>
Thu, 21 Nov 2024 21:20:58 +0000 (22:20 +0100)
committerThomas Hellström <[email protected]>
Thu, 12 Dec 2024 15:57:28 +0000 (16:57 +0100)
Running coccinelle spatch gave the following warning:

./drivers/gpu/drm/xe/tests/xe_migrate.c:226:5-11: inconsistent IS_ERR
and PTR_ERR on line 228.

The code reports PTR_ERR(pt) when IS_ERR(tiny) is checked:

→ 211  pt = xe_bo_create_pin_map(xe, tile, m->q->vm, XE_PAGE_SIZE,
  212                            ttm_bo_type_kernel,
  213                            XE_BO_FLAG_VRAM_IF_DGFX(tile) |
  214                            XE_BO_FLAG_PINNED);
  215  if (IS_ERR(pt)) {
  216          KUNIT_FAIL(test, "Failed to allocate fake pt: %li\n",
  217                     PTR_ERR(pt));
  218          goto free_big;
  219  }
  220
  221  tiny = xe_bo_create_pin_map(xe, tile, m->q->vm,
→ 222                              2 * SZ_4K,
  223                              ttm_bo_type_kernel,
  224                              XE_BO_FLAG_VRAM_IF_DGFX(tile) |
  225                              XE_BO_FLAG_PINNED);
→ 226  if (IS_ERR(tiny)) {
→ 227          KUNIT_FAIL(test, "Failed to allocate fake pt: %li\n",
→ 228                     PTR_ERR(pt));
  229          goto free_pt;
  230  }

Now, the IS_ERR(tiny) and the corresponding PTR_ERR(pt) do not match.

Returning PTR_ERR(tiny), as the last failed function call, seems logical.

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Mirsad Todorovac <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Rodrigo Vivi <[email protected]>
(cherry picked from commit cb57c75098c1c449a007ba301f9073f96febaaa9)
Signed-off-by: Thomas Hellström <[email protected]>
drivers/gpu/drm/xe/tests/xe_migrate.c

index 1a192a2a941b69afb3e1d095111267c4a2355d13..3bbdb362d6f0dcf7f23863a0f0e5cecb9696b661 100644 (file)
@@ -224,8 +224,8 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
                                    XE_BO_FLAG_VRAM_IF_DGFX(tile) |
                                    XE_BO_FLAG_PINNED);
        if (IS_ERR(tiny)) {
-               KUNIT_FAIL(test, "Failed to allocate fake pt: %li\n",
-                          PTR_ERR(pt));
+               KUNIT_FAIL(test, "Failed to allocate tiny fake pt: %li\n",
+                          PTR_ERR(tiny));
                goto free_pt;
        }
 
This page took 0.062991 seconds and 4 git commands to generate.