drm/xe: Fix checking for unset value
authorLucas De Marchi <lucas.demarchi@intel.com>
Wed, 26 Jul 2023 16:07:01 +0000 (09:07 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:38:30 +0000 (11:38 -0500)
Commit 37430402618d ("drm/xe: NULL binding implementation") introduced
the NULL binding implementation, but left a case in which the out value
is_vram is not set and the caller will use whatever was on stack.
Eventually the is_vram out could be removed, but this should at least
fix the current bug.

Fixes: 37430402618d ("drm/xe: NULL binding implementation")
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230726160708.3967790-4-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pt.c

index 8b75a6145f9bcb417a06fd6ae07123df9d5d0a8a..612de787c19e68948fc56a9bd31aece34cf5d801 100644 (file)
@@ -81,8 +81,10 @@ u64 xe_pde_encode(struct xe_bo *bo, u64 bo_offset,
 static dma_addr_t vma_addr(struct xe_vma *vma, u64 offset,
                           size_t page_size, bool *is_vram)
 {
-       if (xe_vma_is_null(vma))
+       if (xe_vma_is_null(vma)) {
+               *is_vram = 0;
                return 0;
+       }
 
        if (xe_vma_is_userptr(vma)) {
                struct xe_res_cursor cur;