diff --git a/sys/dev/drm/amd/amdgpu/amdgpu_gem.c b/sys/dev/drm/amd/amdgpu/amdgpu_gem.c --- a/sys/dev/drm/amd/amdgpu/amdgpu_gem.c +++ b/sys/dev/drm/amd/amdgpu/amdgpu_gem.c @@ -563,6 +563,8 @@ uint64_t va_flags; int r = 0; + args->va_address &= AMDGPU_GMC_HOLE_MASK; + if (args->va_address < AMDGPU_VA_RESERVED_SIZE) { dev_dbg(&dev->pdev->dev, "va_address 0x%LX is in reserved area 0x%LX\n", @@ -578,8 +580,6 @@ AMDGPU_GMC_HOLE_END); return -EINVAL; } - - args->va_address &= AMDGPU_GMC_HOLE_MASK; if ((args->flags & ~valid_flags) && (args->flags & ~prt_flags)) { dev_dbg(&dev->pdev->dev, "invalid flags combination 0x%08X\n",