Re: [PATCH 1/2] drm/i915: Fix all intel_framebuffer_init failures to take the error path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 28, 2017 at 04:22:32PM +0000, Chris Wilson wrote:
> No more direct return -EINVAL as we have to unwind the
> obj->framebuffer_references.
> 
> Fixes: 24dbf51a5517 ("drm/i915: struct_mutex is not required for allocating the framebuffer")
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>

lgtm

Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>

> ---
>  drivers/gpu/drm/i915/intel_display.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 10e68dfb7260..77936ddd860a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14383,7 +14383,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  	if (INTEL_INFO(dev_priv)->gen < 4 &&
>  	    tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) {
>  		DRM_DEBUG("tiling_mode must match fb modifier exactly on gen2/3\n");
> -		return -EINVAL;
> +		goto err;
>  	}
>  
>  	stride_alignment = intel_fb_stride_alignment(dev_priv,
> @@ -14428,7 +14428,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  		if (INTEL_GEN(dev_priv) > 3) {
>  			DRM_DEBUG("unsupported pixel format: %s\n",
>  			          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -			return -EINVAL;
> +			goto err;
>  		}
>  		break;
>  	case DRM_FORMAT_ABGR8888:
> @@ -14436,7 +14436,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  		    INTEL_GEN(dev_priv) < 9) {
>  			DRM_DEBUG("unsupported pixel format: %s\n",
>  			          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -			return -EINVAL;
> +			goto err;
>  		}
>  		break;
>  	case DRM_FORMAT_XBGR8888:
> @@ -14445,14 +14445,14 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  		if (INTEL_GEN(dev_priv) < 4) {
>  			DRM_DEBUG("unsupported pixel format: %s\n",
>  			          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -			return -EINVAL;
> +			goto err;
>  		}
>  		break;
>  	case DRM_FORMAT_ABGR2101010:
>  		if (!IS_VALLEYVIEW(dev_priv) && !IS_CHERRYVIEW(dev_priv)) {
>  			DRM_DEBUG("unsupported pixel format: %s\n",
>  			          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -			return -EINVAL;
> +			goto err;
>  		}
>  		break;
>  	case DRM_FORMAT_YUYV:
> @@ -14462,13 +14462,13 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  		if (INTEL_GEN(dev_priv) < 5) {
>  			DRM_DEBUG("unsupported pixel format: %s\n",
>  			          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -			return -EINVAL;
> +			goto err;
>  		}
>  		break;
>  	default:
>  		DRM_DEBUG("unsupported pixel format: %s\n",
>  		          drm_get_format_name(mode_cmd->pixel_format, &format_name));
> -		return -EINVAL;
> +		goto err;
>  	}
>  
>  	/* FIXME need to adjust LINOFF/TILEOFF accordingly. */
> @@ -14481,7 +14481,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>  
>  	ret = intel_fill_fb_info(dev_priv, &intel_fb->base);
>  	if (ret)
> -		return ret;
> +		goto err;
>  
>  	ret = drm_framebuffer_init(obj->base.dev,
>  				   &intel_fb->base,
> -- 
> 2.11.0

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux