提交 d59f7021 编写于 作者: C Christian König 提交者: Alex Deucher

drm/radeon: fix gem_close_object handling

Make the reserve non interruptible.
Signed-off-by: NChristian König <deathsimple@vodafone.de>
Reviewed-by: NJerome Glisse <jglisse@redhat.com>
上级 d63dfed5
...@@ -134,13 +134,16 @@ void radeon_gem_object_close(struct drm_gem_object *obj, ...@@ -134,13 +134,16 @@ void radeon_gem_object_close(struct drm_gem_object *obj,
struct radeon_device *rdev = rbo->rdev; struct radeon_device *rdev = rbo->rdev;
struct radeon_fpriv *fpriv = file_priv->driver_priv; struct radeon_fpriv *fpriv = file_priv->driver_priv;
struct radeon_vm *vm = &fpriv->vm; struct radeon_vm *vm = &fpriv->vm;
int r;
if (rdev->family < CHIP_CAYMAN) { if (rdev->family < CHIP_CAYMAN) {
return; return;
} }
if (radeon_bo_reserve(rbo, false)) { r = radeon_bo_reserve(rbo, true);
dev_err(rdev->dev, "leaking bo va because we fail to reserve bo\n"); if (r) {
dev_err(rdev->dev, "leaking bo va because "
"we fail to reserve bo (%d)\n", r);
return; return;
} }
radeon_vm_bo_rmv(rdev, vm, rbo); radeon_vm_bo_rmv(rdev, vm, rbo);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册