Discussion:
[PATCH 06/12] drm/mediatek: Handle drm_atomic_helper_swap_state failure
Maarten Lankhorst
2017-07-19 07:40:46 UTC
Permalink
drm_atomic_helper_swap_state() will be changed to interruptible waiting
in the next few commits, so all drivers have to be changed to handling
failure.

Signed-off-by: Maarten Lankhorst <***@linux.intel.com>
Cc: CK Hu <***@mediatek.com>
Cc: Philipp Zabel <***@pengutronix.de>
Cc: linux-arm-***@lists.infradead.org
Cc: linux-***@lists.infradead.org
Link: http://patchwork.freedesktop.org/patch/msgid/20170711143314.2148-7-***@linux.intel.com
Reviewed-by: Philipp Zabel <***@pengutronix.de>
Reviewed-by: Sean Paul <***@chromium.org>
---
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index be0741638f94..b2596f35104b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -109,7 +109,12 @@ static int mtk_atomic_commit(struct drm_device *drm,
mutex_lock(&private->commit.lock);
flush_work(&private->commit.work);

- drm_atomic_helper_swap_state(state, true);
+ ret = drm_atomic_helper_swap_state(state, true);
+ if (ret) {
+ mutex_unlock(&private->commit.lock);
+ drm_atomic_helper_cleanup_planes(drm, state);
+ return ret;
+ }

drm_atomic_state_get(state);
if (async)
--
2.11.0
Loading...