On Fri, 07 Nov 2025, Ville Syrjala <[email protected]> wrote: > From: Ville Syrjälä <[email protected]> > > Make the order of things a bit less fragile in > intel_framebuffer_init() by assinging 'ret' in each
*assigning > error branch instead of depending on some earlier > assignment. > > Signed-off-by: Ville Syrjälä <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_fb.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c > b/drivers/gpu/drm/i915/display/intel_fb.c > index 2eddccb1bc9e..b34b4961fe1c 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -2234,13 +2234,13 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > if (ret) > goto err_frontbuffer_put; > > - ret = -EINVAL; > if (!drm_any_plane_has_format(display->drm, > mode_cmd->pixel_format, > mode_cmd->modifier[0])) { > drm_dbg_kms(display->drm, > "unsupported pixel format %p4cc / modifier > 0x%llx\n", > &mode_cmd->pixel_format, mode_cmd->modifier[0]); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > > @@ -2251,6 +2251,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > mode_cmd->modifier[0] != DRM_FORMAT_MOD_LINEAR ? > "tiled" : "linear", > mode_cmd->pitches[0], max_stride); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > > @@ -2259,6 +2260,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > drm_dbg_kms(display->drm, > "plane 0 offset (0x%08x) must be 0\n", > mode_cmd->offsets[0]); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > > @@ -2269,6 +2271,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > > if (mode_cmd->handles[i] != mode_cmd->handles[0]) { > drm_dbg_kms(display->drm, "bad plane %d handle\n", i); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > > @@ -2277,6 +2280,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > drm_dbg_kms(display->drm, > "plane %d pitch (%d) must be at least %u > byte aligned\n", > i, fb->pitches[i], stride_alignment); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > > @@ -2287,6 +2291,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > drm_dbg_kms(display->drm, > "ccs aux plane %d pitch (%d) must > be %d\n", > i, fb->pitches[i], ccs_aux_stride); > + ret = -EINVAL; > goto err_bo_framebuffer_fini; > } > } -- Jani Nikula, Intel
