diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_gem.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_gem.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c index 2944486871b0..60df2d7e7e4c 100644 --- a/drivers/gpu/drm/radeon/radeon_gem.c +++ b/drivers/gpu/drm/radeon/radeon_gem.c | |||
@@ -66,8 +66,9 @@ int radeon_gem_object_create(struct radeon_device *rdev, int size, | |||
66 | } | 66 | } |
67 | r = radeon_bo_create(rdev, gobj, size, kernel, initial_domain, &robj); | 67 | r = radeon_bo_create(rdev, gobj, size, kernel, initial_domain, &robj); |
68 | if (r) { | 68 | if (r) { |
69 | DRM_ERROR("Failed to allocate GEM object (%d, %d, %u)\n", | 69 | if (r != -ERESTARTSYS) |
70 | size, initial_domain, alignment); | 70 | DRM_ERROR("Failed to allocate GEM object (%d, %d, %u, %d)\n", |
71 | size, initial_domain, alignment, r); | ||
71 | mutex_lock(&rdev->ddev->struct_mutex); | 72 | mutex_lock(&rdev->ddev->struct_mutex); |
72 | drm_gem_object_unreference(gobj); | 73 | drm_gem_object_unreference(gobj); |
73 | mutex_unlock(&rdev->ddev->struct_mutex); | 74 | mutex_unlock(&rdev->ddev->struct_mutex); |
@@ -350,9 +351,10 @@ int radeon_gem_get_tiling_ioctl(struct drm_device *dev, void *data, | |||
350 | rbo = gobj->driver_private; | 351 | rbo = gobj->driver_private; |
351 | r = radeon_bo_reserve(rbo, false); | 352 | r = radeon_bo_reserve(rbo, false); |
352 | if (unlikely(r != 0)) | 353 | if (unlikely(r != 0)) |
353 | return r; | 354 | goto out; |
354 | radeon_bo_get_tiling_flags(rbo, &args->tiling_flags, &args->pitch); | 355 | radeon_bo_get_tiling_flags(rbo, &args->tiling_flags, &args->pitch); |
355 | radeon_bo_unreserve(rbo); | 356 | radeon_bo_unreserve(rbo); |
357 | out: | ||
356 | mutex_lock(&dev->struct_mutex); | 358 | mutex_lock(&dev->struct_mutex); |
357 | drm_gem_object_unreference(gobj); | 359 | drm_gem_object_unreference(gobj); |
358 | mutex_unlock(&dev->struct_mutex); | 360 | mutex_unlock(&dev->struct_mutex); |