|
@@ -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)
|