summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2016-11-21 18:47:53 +0900
committerMichel Dänzer <michel@daenzer.net>2016-11-30 15:33:07 +0900
commite2942449171fe628a7726e59bcaab65e27d88563 (patch)
tree99ebb7fec58b39cccdbadf27f49c94ed2e7814aa
parent14c3f59f5157885ad8f941f0bad6c0c5e3db12f8 (diff)
Call radeon_drm_abort_entry on failure to flip to a scanout pixmap
Fixes leaking the corresponding struct radeon_drm_queue list entry in that case. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/radeon_kms.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 5764c20c..48dec967 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -807,6 +807,7 @@ radeon_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));
+ radeon_drm_abort_entry(drm_queue_seq);
return;
}
@@ -1083,6 +1084,7 @@ radeon_scanout_flip(ScreenPtr pScreen, RADEONInfoPtr info,
0, drm_queue_seq, 0) != 0) {
xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed in %s: %s\n",
__func__, strerror(errno));
+ radeon_drm_abort_entry(drm_queue_seq);
return;
}