Re: [PATCH] drm/meson: fix shutdown crash when component not probed

From: Martin Blumenstingl
Date: Thu May 20 2021 - 16:25:59 EST


Hi Neil,

since this has not received any Reviewed-by yet I tried my best to
review it myself

On Fri, Apr 30, 2021 at 10:28 AM Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
[...]
> --- a/drivers/gpu/drm/meson/meson_drv.c
> +++ b/drivers/gpu/drm/meson/meson_drv.c
> @@ -485,11 +485,12 @@ static int meson_probe_remote(struct platform_device *pdev,
> static void meson_drv_shutdown(struct platform_device *pdev)
> {
> struct meson_drm *priv = dev_get_drvdata(&pdev->dev);
this part made it hard for me because I was wondering where the
matching dev_set_drvdata call is
it turns out platform_set_drvdata is used instead, meaning for me it
would have been easier to understand if platform_get_drvdata was used
here
that's however nothing which has changed with this patch

> - struct drm_device *drm = priv->drm;
>
> - DRM_DEBUG_DRIVER("\n");
> - drm_kms_helper_poll_fini(drm);
> - drm_atomic_helper_shutdown(drm);
> + if (!priv)
> + return;
> +
> + drm_kms_helper_poll_fini(priv->drm);
> + drm_atomic_helper_shutdown(priv->drm);
> }
then this part finally made sense to me (as non-drm person), as
platform_set_drvdata comes near the end of meson_drv_bind_master (so
any errors would cause the drvdata to be NULL).

with this I can also give me:
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
in addition to my:
Tested-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>

Can you please queue this up for -fixes or do we need to ask someone to do it?


Best regards,
Martin