drm/msm/atomic: Clean up planes in the error paths of .atomic_commit()
When the .atomic_commit() handler fails, clean up planes previoulsy prepared by drm_atomic_helper_prepare_planes() with a call to drm_atomic_helper_cleanup_planes(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
1efb92a306
commit
f65c18c050
|
@ -213,8 +213,10 @@ int msm_atomic_commit(struct drm_device *dev,
|
|||
return ret;
|
||||
|
||||
c = commit_init(state);
|
||||
if (!c)
|
||||
return -ENOMEM;
|
||||
if (!c) {
|
||||
ret = -ENOMEM;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
* Figure out what crtcs we have:
|
||||
|
@ -247,7 +249,7 @@ int msm_atomic_commit(struct drm_device *dev,
|
|||
ret = start_atomic(dev->dev_private, c->crtc_mask);
|
||||
if (ret) {
|
||||
kfree(c);
|
||||
return ret;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -291,4 +293,8 @@ int msm_atomic_commit(struct drm_device *dev,
|
|||
complete_commit(c);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
drm_atomic_helper_cleanup_planes(dev, state);
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue