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.