[PATCH] drm/bridge: adv7511: clean up CEC adapter when probe fails

Robert Foss robert.foss at linaro.org
Thu Mar 31 12:10:26 UTC 2022


On Mon, 21 Mar 2022 at 11:47, Lucas Stach <l.stach at pengutronix.de> wrote:
>
> When the probe routine fails we also need to clean up the
> CEC adapter registered in adv7511_cec_init().
>
> Fixes: 3b1b975003e4 ("drm: adv7511/33: add HDMI CEC support")
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> ---
> The "fixed" commit is not the one introducing the issue, it had been
> there as long as the driver supported CEC, but is the earliest commit
> that allows conflict free backporting.
> 864c49a31d6b ("drm/bridge: adv7511: Register and attach our DSI
> device at probe") made the issue much more likely to be hit, as the
> DSI attach may return -EPROBE_DEFER, so the cleanup path is exercised
> a lot more.
> ---
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> index f8e5da148599..370eb8d5d39b 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> @@ -1298,6 +1298,7 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
>         adv7511_audio_exit(adv7511);
>         drm_bridge_remove(&adv7511->bridge);
>  err_unregister_cec:
> +       cec_unregister_adapter(adv7511->cec_adap);
>         i2c_unregister_device(adv7511->i2c_cec);
>         clk_disable_unprepare(adv7511->cec_clk);
>  err_i2c_unregister_packet:
> --
> 2.34.1
>

Reviewed-by: Robert Foss <robert.foss at linaro.org>

Applied to drm-misc-next.


More information about the dri-devel mailing list