diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2017-01-02 18:14:27 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-19 14:18:04 -0500 |
commit | 5375b71f3b1784c430ca7c58e6aae6bba8ef222c (patch) | |
tree | 8f2f50dfd29c1113aac009fdab89ef5a4bf45681 | |
parent | 6d15a83af98200f0ebdd36ac1d1cda743e76ad90 (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.c | 4 |
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 | /* |