On Wed, May 4, 2011 at 8:15 PM, Ilija Hadzic
<ihadzic at research.bell-labs.com> wrote:
> ?if object pin or object lookup in radeon_cursor_set fail, the function
> ?could leave inconsistent mouse width and hight values in radeon_crtc
> ?fixed by moving cursor width and height assignments after all
> ?checks have passed
>
>
> Signed-off-by: Ilija Hadzic <ihadzic at research.bell-labs.com>

Reviewed-by: Alex Deucher <alexdeucher at gmail.com>

> ---
> ?drivers/gpu/drm/radeon/radeon_cursor.c | ? ?6 +++---
> ?1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c 
> b/drivers/gpu/drm/radeon/radeon_cursor.c
> index bdf2fa1..3189a7e 100644
> --- a/drivers/gpu/drm/radeon/radeon_cursor.c
> +++ b/drivers/gpu/drm/radeon/radeon_cursor.c
> @@ -167,9 +167,6 @@ int radeon_crtc_cursor_set(struct drm_crtc *crtc,
> ? ? ? ? ? ? ? ?return -EINVAL;
> ? ? ? ?}
>
> - ? ? ? radeon_crtc->cursor_width = width;
> - ? ? ? radeon_crtc->cursor_height = height;
> -
> ? ? ? ?obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
> ? ? ? ?if (!obj) {
> ? ? ? ? ? ? ? ?DRM_ERROR("Cannot find cursor object %x for crtc %d\n", 
> handle, radeon_crtc->crtc_id);
> @@ -180,6 +177,9 @@ int radeon_crtc_cursor_set(struct drm_crtc *crtc,
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto fail;
>
> + ? ? ? radeon_crtc->cursor_width = width;
> + ? ? ? radeon_crtc->cursor_height = height;
> +
> ? ? ? ?radeon_lock_cursor(crtc, true);
> ? ? ? ?/* XXX only 27 bit offset for legacy cursor */
> ? ? ? ?radeon_set_cursor(crtc, obj, gpu_addr);
> --
> 1.7.4.1
>
>

Reply via email to