diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index df5a7135c261..68526f467c87 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -135,12 +135,15 @@ i915_gem_create_ioctl(struct drm_device *dev, void *data, | |||
| 135 | return -ENOMEM; | 135 | return -ENOMEM; |
| 136 | 136 | ||
| 137 | ret = drm_gem_handle_create(file_priv, obj, &handle); | 137 | ret = drm_gem_handle_create(file_priv, obj, &handle); |
| 138 | drm_gem_object_unreference_unlocked(obj); | 138 | if (ret) { |
| 139 | if (ret) | 139 | drm_gem_object_unreference_unlocked(obj); |
| 140 | return ret; | 140 | return ret; |
| 141 | } | ||
| 141 | 142 | ||
| 142 | args->handle = handle; | 143 | /* Sink the floating reference from kref_init(handlecount) */ |
| 144 | drm_gem_object_handle_unreference_unlocked(obj); | ||
| 143 | 145 | ||
| 146 | args->handle = handle; | ||
| 144 | return 0; | 147 | return 0; |
| 145 | } | 148 | } |
| 146 | 149 | ||
