Hi Andre On Sat, Oct 28, 2023 at 9:19 AM André Apitzsch <git@xxxxxxxxxxx> wrote: > > If the controls are initialized incorrectly, don't destroy the mutex not > initialized yet and don't free controls as that is handled in > imx214_ctrls_init(). > > Signed-off-by: André Apitzsch <git@xxxxxxxxxxx> Since you are calling v4l2_ctrl_handler_free() in imx214_ctrls_init, I think you should squash this patch with 2/5. Sorry for asking for a follow-up patch :S Regards! > --- > drivers/media/i2c/imx214.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/imx214.c b/drivers/media/i2c/imx214.c > index e0d9624a9d3f..0aba28d6dc2f 100644 > --- a/drivers/media/i2c/imx214.c > +++ b/drivers/media/i2c/imx214.c > @@ -1069,7 +1069,7 @@ static int imx214_probe(struct i2c_client *client) > > ret = imx214_ctrls_init(imx214); > if (ret < 0) > - goto free_ctrl; > + goto error_power_off; > > mutex_init(&imx214->mutex); > imx214->ctrls.lock = &imx214->mutex; > @@ -1100,6 +1100,7 @@ static int imx214_probe(struct i2c_client *client) > free_ctrl: > mutex_destroy(&imx214->mutex); > v4l2_ctrl_handler_free(&imx214->ctrls); > +error_power_off: > pm_runtime_disable(imx214->dev); > > return ret; > > -- > 2.42.0 >