[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