diff mbox

drm/atomic: fix an error code in mode_fixup()

Message ID 20170207234601.GA23981@mwanda (mailing list archive)
State New, archived
Headers show

Commit Message

Dan Carpenter Feb. 7, 2017, 11:46 p.m. UTC
Having "ret" be a bool type works for everything except
ret = funcs->atomic_check().  The other functions all return zero on
error but ->atomic_check() returns negative error codes.  We want to
propagate the error code but instead we return 1.

I found this bug with static analysis and I don't know if it affects
run time.

Fixes: 4cd4df8080a3 ("drm/atomic: Add ->atomic_check() to encoder helpers")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Comments

Daniel Vetter Feb. 8, 2017, 8:49 a.m. UTC | #1
On Wed, Feb 08, 2017 at 02:46:01AM +0300, Dan Carpenter wrote:
> Having "ret" be a bool type works for everything except
> ret = funcs->atomic_check().  The other functions all return zero on
> error but ->atomic_check() returns negative error codes.  We want to
> propagate the error code but instead we return 1.
> 
> I found this bug with static analysis and I don't know if it affects
> run time.
> 
> Fixes: 4cd4df8080a3 ("drm/atomic: Add ->atomic_check() to encoder helpers")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Applied to drm-misc for 4.11, thanks.
-Daniel

> 
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 9a08445a7a7a..01d936b7be43 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -369,7 +369,7 @@ mode_fixup(struct drm_atomic_state *state)
>  	struct drm_connector *connector;
>  	struct drm_connector_state *conn_state;
>  	int i;
> -	bool ret;
> +	int ret;
>  
>  	for_each_crtc_in_state(state, crtc, crtc_state, i) {
>  		if (!crtc_state->mode_changed &&
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 9a08445a7a7a..01d936b7be43 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -369,7 +369,7 @@  mode_fixup(struct drm_atomic_state *state)
 	struct drm_connector *connector;
 	struct drm_connector_state *conn_state;
 	int i;
-	bool ret;
+	int ret;
 
 	for_each_crtc_in_state(state, crtc, crtc_state, i) {
 		if (!crtc_state->mode_changed &&