Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f65c18c0 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Rob Clark
Browse files

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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent 1efb92a3
Loading
Loading
Loading
Loading
+9 −3
Original line number Original line Diff line number Diff line
@@ -213,8 +213,10 @@ int msm_atomic_commit(struct drm_device *dev,
		return ret;
		return ret;


	c = commit_init(state);
	c = commit_init(state);
	if (!c)
	if (!c) {
		return -ENOMEM;
		ret = -ENOMEM;
		goto error;
	}


	/*
	/*
	 * Figure out what crtcs we have:
	 * 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);
	ret = start_atomic(dev->dev_private, c->crtc_mask);
	if (ret) {
	if (ret) {
		kfree(c);
		kfree(c);
		return ret;
		goto error;
	}
	}


	/*
	/*
@@ -291,4 +293,8 @@ int msm_atomic_commit(struct drm_device *dev,
	complete_commit(c);
	complete_commit(c);


	return 0;
	return 0;

error:
	drm_atomic_helper_cleanup_planes(dev, state);
	return ret;
}
}