aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2017-01-02 18:14:27 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-19 14:18:04 -0500
commit5375b71f3b1784c430ca7c58e6aae6bba8ef222c (patch)
tree8f2f50dfd29c1113aac009fdab89ef5a4bf45681
parent6d15a83af98200f0ebdd36ac1d1cda743e76ad90 (diff)
drm: Clean up planes in atomic commit helper failure path
commit aebe55c2d4b998741c0847ace1b4af47d73c763b upstream. If waiting for fences fails for blocking commits, planes must be cleaned up before returning. Fixes: f6ce410a59a4 ("drm/fence: allow fence waiting to be interrupted by userspace") Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170102231427.7192-1-laurent.pinchart@ideasonboard.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 21f992605541..338766c64c99 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1253,8 +1253,10 @@ int drm_atomic_helper_commit(struct drm_device *dev,
1253 1253
1254 if (!nonblock) { 1254 if (!nonblock) {
1255 ret = drm_atomic_helper_wait_for_fences(dev, state, true); 1255 ret = drm_atomic_helper_wait_for_fences(dev, state, true);
1256 if (ret) 1256 if (ret) {
1257 drm_atomic_helper_cleanup_planes(dev, state);
1257 return ret; 1258 return ret;
1259 }
1258 } 1260 }
1259 1261
1260 /* 1262 /*