]> Pileus Git - ~andy/linux/commitdiff
drm/radeon: fix gem_close_object handling
authorChristian König <deathsimple@vodafone.de>
Tue, 11 Sep 2012 14:10:02 +0000 (16:10 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 20 Sep 2012 17:10:42 +0000 (13:10 -0400)
Make the reserve non interruptible.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
drivers/gpu/drm/radeon/radeon_gem.c

index 6cac5cca3d819271b9b8738b6e1610b784edfc23..cfad667ce78501dc62a7893726b2ccdb112ae2f5 100644 (file)
@@ -134,13 +134,16 @@ void radeon_gem_object_close(struct drm_gem_object *obj,
        struct radeon_device *rdev = rbo->rdev;
        struct radeon_fpriv *fpriv = file_priv->driver_priv;
        struct radeon_vm *vm = &fpriv->vm;
+       int r;
 
        if (rdev->family < CHIP_CAYMAN) {
                return;
        }
 
-       if (radeon_bo_reserve(rbo, false)) {
-               dev_err(rdev->dev, "leaking bo va because we fail to reserve bo\n");
+       r = radeon_bo_reserve(rbo, true);
+       if (r) {
+               dev_err(rdev->dev, "leaking bo va because "
+                       "we fail to reserve bo (%d)\n", r);
                return;
        }
        radeon_vm_bo_rmv(rdev, vm, rbo);