drm/gpusvm: set has_dma_mapping inside mapping loop
authorDafna Hirschfeld <dafna.hirschfeld@intel.com>
Mon, 28 Apr 2025 02:47:52 +0000 (19:47 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 2 May 2025 02:45:31 +0000 (21:45 -0500)
The 'has_dma_mapping' flag should be set once there is a
mapping so it could be unmapped in case of error.

v2:
- Resend for CI

Fixes: 99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250428024752.881292-1-matthew.brost@intel.com
(cherry picked from commit f64cf7b681af72d3f715c0d0fd72091a54471c1a)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/drm_gpusvm.c

index 38431e8360e7839816e994cf6a93f2cbdda123f7..de424e670995cfcdab528e97d6f980ed6f467715 100644 (file)
@@ -1469,9 +1469,9 @@ map_pages:
                }
                i += 1 << order;
                num_dma_mapped = i;
+               range->flags.has_dma_mapping = true;
        }
 
-       range->flags.has_dma_mapping = true;
        if (zdd) {
                range->flags.has_devmem_pages = true;
                range->dpagemap = dpagemap;