diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2016-11-30 16:28:27 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2016-12-01 17:04:00 +0900 |
commit | d60ea478cf2215ded7e1acf5817a0dae07e54026 (patch) | |
tree | d545bdc805101684293d673f7ef4a6c908a0329a /src/amdgpu_kms.c | |
parent | aea70298ef0d53fc81aa1fd22c8566920a856223 (diff) |
Call amdgpu_drm_abort_entry on failure to flip to a scanout pixmap
Fixes leaking the corresponding struct amdgpu_drm_queue list entry in
that case.
(Ported from radeon commit e2942449171fe628a7726e59bcaab65e27d88563)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/amdgpu_kms.c')
-rw-r--r-- | src/amdgpu_kms.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index f8556c9..b2d098a 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -714,6 +714,7 @@ amdgpu_prime_scanout_flip(PixmapDirtyUpdatePtr ent) 0, drm_queue_seq, 0) != 0) { xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed in %s: %s\n", __func__, strerror(errno)); + amdgpu_drm_abort_entry(drm_queue_seq); return; } @@ -985,6 +986,7 @@ amdgpu_scanout_flip(ScreenPtr pScreen, AMDGPUInfoPtr info, 0, drm_queue_seq, 0) != 0) { xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed in %s: %s\n", __func__, strerror(errno)); + amdgpu_drm_abort_entry(drm_queue_seq); return; } |