[PATCH] Fix crash when page flipping in multi-X-Screen/Zaphod mode
Michel Dänzer
michel at daenzer.net
Tue Dec 18 14:42:36 UTC 2018
On 2018-12-18 11:40 a.m., Mario Kleiner wrote:
> radeon_do_pageflip() indexed the flipdata->fb[] array
> indexing over config->num_crtc, but the flip completion
> routines, e.g., drmmode_flip_handler(), index that array
> via the crtc hw id from drmmode_get_crtc_id(crtc).
>
> This is mismatched and causes indexing into the wrong
> array slot at flip completion -> Server crash.
>
> Always use drmmode_get_crtc_id(crtc) for indexing into
> the array to fix this.
>
> Tested on a dual-X-Screen setup with one video output
> assigned to each X-Screen, page-flipping an OpenGL app
> on either of both X-Screens. This used to crash when
> flipping on X-Screen 1, now it doesn't anymore.
>
> This patch needs to be ported to amdgpu-ddx as well,
> which suffers the same bug.
>
> Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
Good catch, thanks! Pushed with
Fixes: 740f0850f1e4 "Store FB for each CRTC in drmmode_flipdata_rec"
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Do you want to make an xf86-video-amdgpu merge request as well? If not,
I can take care of porting the fix. If you do it, please enable the
"Allow commits from members who can merge to the target branch" checkbox
for the MR.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list