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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 21 Mar 2022 at 11:47, Lucas Stach <l.stach@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxx>

Applied to drm-misc-next.



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux