Re: [PATCH 08/13] drm/sun4i: crtc: Propagate layer initialization error
Chen-Yu Tsai <[email protected]> Tue, 4 Aug 2026 01:02:39 +0800
| Newsgroups | org.infradead.lists.linux-arm-kernel,dev.linux.lists.linux-sunxi,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAGb2v66yVbzTSu6sb4ryuD-djcH+vaCtamuhtY=xnq93_ZvKog@mail.gmail.com> |
On Tue, Aug 4, 2026 at 12:11 AM Jernej Skrabec <[email protected]> wrote: > > sun4i_crtc_init() returns plain NULL when layer initialization fails, > while all its other error paths return an error pointer. The only > caller, sun4i_tcon_bind(), checks the result with IS_ERR() and happily > continues with tcon->crtc set to NULL. sun4i_rgb_init() and > sun4i_lvds_init() then dereference it in drm_crtc_mask(), which > oopses. > > Return the error pointer instead. > > Fixes: dcd215801b02 ("drm/sun4i: Drop primary layer pointer from sun4i_drv") > Signed-off-by: Jernej Skrabec <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> > --- > drivers/gpu/drm/sun4i/sun4i_crtc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_crtc.c b/drivers/gpu/drm/sun4i/sun4i_crtc.c > index c2f7f69baf75..3fa1f4fda0f0 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_crtc.c > +++ b/drivers/gpu/drm/sun4i/sun4i_crtc.c > @@ -208,7 +208,7 @@ struct sun4i_crtc *sun4i_crtc_init(struct drm_device *drm, > planes = sunxi_engine_layers_init(drm, engine); > if (IS_ERR(planes)) { > dev_err(drm->dev, "Couldn't create the planes\n"); > - return NULL; > + return ERR_CAST(planes); > } > > /* find primary and cursor planes for drm_crtc_init_with_planes */ > -- > 2.43.0 > >