[PATCH] drm/tilcdc: fix wrong error handling

Sean Paul seanpaul at google.com
Fri Sep 23 11:47:16 UTC 2016


On Fri, Sep 23, 2016 at 3:52 AM, Daniel Schultz <d.schultz at phytec.de> wrote:
> When 'component_bind_all' fails it should not try to unbind components
> in the error handling. This will produce a null pointer kernel panic when
> no component exist.
>
> This patch changes the order of the error handling. Now, it will only
> unbind components if the are bound. Otherwise, the module will jump to
> an error label below.
>
> Signed-off-by: Daniel Schultz <d.schultz at phytec.de>

Reviewed-by: Sean Paul <seanpaul at chromium.org>

> ---
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index d278093..d491610 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -315,13 +315,13 @@ fail_irq_uninstall:
>  fail_vblank_cleanup:
>         drm_vblank_cleanup(dev);
>
> -fail_mode_config_cleanup:
> -       drm_mode_config_cleanup(dev);
> -
>  fail_component_cleanup:
>         if (priv->is_componentized)
>                 component_unbind_all(dev->dev, dev);
>
> +fail_mode_config_cleanup:
> +       drm_mode_config_cleanup(dev);
> +
>  fail_external_cleanup:
>         tilcdc_remove_external_encoders(dev);
>
> --
> 1.9.1
>


More information about the dri-devel mailing list