This avoids the need to unpin on the error path.

Signed-off-by: Jesse Barnes <jbar...@virtuousgeek.org>
---
 drivers/gpu/drm/i915/intel_overlay2.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_overlay2.c 
b/drivers/gpu/drm/i915/intel_overlay2.c
index 2e38b15..e583bd0 100644
--- a/drivers/gpu/drm/i915/intel_overlay2.c
+++ b/drivers/gpu/drm/i915/intel_overlay2.c
@@ -62,9 +62,6 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc 
*crtc,
        old_obj = intel_plane->obj;
 
        mutex_lock(&dev->struct_mutex);
-       ret = intel_pin_and_fence_fb_obj(dev, obj, NULL);
-       if (ret)
-               goto out_unlock;
 
        dvscntr = I915_READ(reg);
 
@@ -104,6 +101,10 @@ intel_update_plane(struct drm_plane *plane, struct 
drm_crtc *crtc,
                goto out_unlock;
        }
 
+       ret = intel_pin_and_fence_fb_obj(dev, obj, NULL);
+       if (ret)
+               goto out_unlock;
+
        intel_plane->obj = obj;
 
        dvscntr |= DVS_TILED;
-- 
1.7.4.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to