Re: [PATCH 1/1] drm/sun4i: hdmi: Check for null pointer before cleanup

From: Maxime Ripard
Date: Mon Dec 16 2019 - 11:13:03 EST


Hi,

On Mon, Dec 16, 2019 at 04:43:48PM +0200, Stefan Mavrodiev wrote:
> It's possible hdmi->connector and hdmi->encoder divices to be NULL.
> This can happen when building as kernel module and you try to remove
> the module.
>
> This patch make simple null check, before calling the cleanup functions.
>
> Signed-off-by: Stefan Mavrodiev <stefan@xxxxxxxxxx>
> ---
> drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
> index a7c4654445c7..b61e00f2ecb8 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
> @@ -685,8 +685,10 @@ static void sun4i_hdmi_unbind(struct device *dev, struct device *master,
> struct sun4i_hdmi *hdmi = dev_get_drvdata(dev);
>
> cec_unregister_adapter(hdmi->cec_adap);
> - drm_connector_cleanup(&hdmi->connector);
> - drm_encoder_cleanup(&hdmi->encoder);
> + if (hdmi->connector.dev)
> + drm_connector_cleanup(&hdmi->connector);
> + if (hdmi->encoder.dev)
> + drm_encoder_cleanup(&hdmi->encoder);

Hmmm, this doesn't look right. Do you have more information on how you
can reproduce it?

Maxime

Attachment: signature.asc
Description: PGP signature