On 02.05.2015 00:43, Adel Gadllah wrote:
> The code in drmmode_set_cursor does not properly handle the case where
> drmModeSetCursor2 returns any other error than EINVAL and silently fails to 
> set
> a cursor.
> 
> So only return when the drmModeSetCursor2 succeeds (i.e returns 0) and disable
> the cursor2 usage on EINVAL.
> 
> References: https://bugzilla.redhat.com/show_bug.cgi?id=1205725
> Signed-off-by: Adel Gadllah <[email protected]>
> ---
>  hw/xfree86/drivers/modesetting/drmmode_display.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c 
> b/hw/xfree86/drivers/modesetting/drmmode_display.c
> index 824500b..912abda 100644
> --- a/hw/xfree86/drivers/modesetting/drmmode_display.c
> +++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
> @@ -396,10 +396,10 @@ drmmode_set_cursor(xf86CrtcPtr crtc)
>              drmModeSetCursor2(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
>                                handle, ms->cursor_width, ms->cursor_height,
>                                cursor->bits->xhot, cursor->bits->yhot);
> +        if (!ret)
> +            return;
>          if (ret == -EINVAL)
>              use_set_cursor2 = FALSE;
> -        else
> -            return;
>      }
>  
>      ret = drmModeSetCursor(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, 
> handle,
> 

Reviewed-by: Michel Dänzer <[email protected]>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to