diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2012-03-15 13:58:31 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-04-24 04:50:20 -0400 |
commit | f1ae126cdf1d1514da6e89a248232a7f7d315fe0 (patch) | |
tree | b698a6cfeb735df7873865614f5f834fbcdaace9 /drivers/gpu/drm/drm_crtc.c | |
parent | 343d4a79fdaeb8753201324c03fbc108f4e62636 (diff) |
drm: Unify and fix idr error handling
The error handling code w.r.t. idr usage looks inconsistent.
In the case of drm_mode_object_get() and drm_ctxbitmap_next() the error
handling is also incomplete.
Unify the code to follow the same pattern always.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_crtc.c')
-rw-r--r-- | drivers/gpu/drm/drm_crtc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 4d4e8b055731..a9ca1b80fc28 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c | |||
@@ -227,7 +227,7 @@ static int drm_mode_object_get(struct drm_device *dev, | |||
227 | again: | 227 | again: |
228 | if (idr_pre_get(&dev->mode_config.crtc_idr, GFP_KERNEL) == 0) { | 228 | if (idr_pre_get(&dev->mode_config.crtc_idr, GFP_KERNEL) == 0) { |
229 | DRM_ERROR("Ran out memory getting a mode number\n"); | 229 | DRM_ERROR("Ran out memory getting a mode number\n"); |
230 | return -EINVAL; | 230 | return -ENOMEM; |
231 | } | 231 | } |
232 | 232 | ||
233 | mutex_lock(&dev->mode_config.idr_mutex); | 233 | mutex_lock(&dev->mode_config.idr_mutex); |
@@ -235,6 +235,8 @@ again: | |||
235 | mutex_unlock(&dev->mode_config.idr_mutex); | 235 | mutex_unlock(&dev->mode_config.idr_mutex); |
236 | if (ret == -EAGAIN) | 236 | if (ret == -EAGAIN) |
237 | goto again; | 237 | goto again; |
238 | else if (ret) | ||
239 | return ret; | ||
238 | 240 | ||
239 | obj->id = new_id; | 241 | obj->id = new_id; |
240 | obj->type = obj_type; | 242 | obj->type = obj_type; |