DF-1998 / fix.diff
diff --git a/sys/dev/drm/amd/amdgpu/amdgpu_gfx.c b/sys/dev/drm/amd/amdgpu/amdgpu_gfx.c --- a/sys/dev/drm/amd/amdgpu/amdgpu_gfx.c +++ b/sys/dev/drm/amd/amdgpu/amdgpu_gfx.c @@ -296,11 +296,13 @@ memset(hpd, 0, hpd_size); - r = amdgpu_bo_reserve(kiq->eop_obj, true); - if (unlikely(r != 0)) - dev_warn(adev->dev, "(%d) reserve kiq eop bo failed\n", r); - amdgpu_bo_kunmap(kiq->eop_obj); - amdgpu_bo_unreserve(kiq->eop_obj); + r = amdgpu_bo_reserve(kiq->eop_obj, true); + if (unlikely(r != 0)) { + dev_warn(adev->dev, "(%d) reserve kiq eop bo failed\n", r); + } else { + amdgpu_bo_kunmap(kiq->eop_obj); + amdgpu_bo_unreserve(kiq->eop_obj); + } return 0; } |