drm/i915: Fix not checking cursor and object sizes
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 24 Sep 2014 17:20:25 +0000 (14:20 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 24 Oct 2014 14:34:00 +0000 (16:34 +0200)
Even if the fb is the same we should still check if the sizes are
valid to be set.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 81f5656b2343858a024c903dea674ab676cb726d..f150765faf3f16645b639963a6219d87dbd7078a 100644 (file)
@@ -11923,9 +11923,6 @@ intel_check_cursor_plane(struct drm_plane *plane,
        if (!obj)
                return 0;
 
-       if (fb == crtc->cursor->fb)
-               return 0;
-
        /* Check for which cursor types we support */
        crtc_w = drm_rect_width(&state->orig_dst);
        crtc_h = drm_rect_height(&state->orig_dst);
@@ -11940,6 +11937,9 @@ intel_check_cursor_plane(struct drm_plane *plane,
                return -ENOMEM;
        }
 
+       if (fb == crtc->cursor->fb)
+               return 0;
+
        /* we only need to pin inside GTT if cursor is non-phy */
        mutex_lock(&dev->struct_mutex);
        if (!INTEL_INFO(dev)->cursor_needs_physical && obj->tiling_mode) {