[PATCH 14/24] drm/omap: dispc: disp_wb_setup to check return code

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Feb 27 13:38:37 UTC 2018


Hi Tomi,

Thank you for the patch.

On Monday, 12 February 2018 11:44:44 EET Tomi Valkeinen wrote:
> From: Benoit Parrot <bparrot at ti.com>
> 
> When dispc_wb_setup() calls dispc_ovl_setup_common() it does not
> check for failure but instead keeps on partially setting up WB.
> This causes the WB H/W to be partially initialized and yield
> unexpected behavior.
> 
> Make sure return code is successful before proceeding.
> 
> Signed-off-by: Benoit Parrot <bparrot at ti.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  drivers/gpu/drm/omapdrm/dss/dispc.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c
> b/drivers/gpu/drm/omapdrm/dss/dispc.c index 679931e108f9..30bcee6580f5
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
> @@ -2678,6 +2678,8 @@ int dispc_wb_setup(const struct
> omap_dss_writeback_info *wi, wi->height, wi->fourcc, wi->rotation, zorder,
>  		wi->pre_mult_alpha, global_alpha, wi->rotation_type,
>  		replication, vm, mem_to_mem);
> +	if (r)
> +		return r;
> 
>  	switch (wi->fourcc) {
>  	case DRM_FORMAT_RGB565:
> @@ -2718,7 +2720,7 @@ int dispc_wb_setup(const struct
> omap_dss_writeback_info *wi, REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane),
> wbdelay, 7, 0);
>  	}
> 
> -	return r;
> +	return 0;
>  }
> 
>  static int dispc_ovl_enable(enum omap_plane_id plane, bool enable)

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list