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 <[email protected]>
---
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
Hi Andre
On Sat, Oct 28, 2023 at 9:19 AM André Apitzsch <[email protected]> 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 <[email protected]>
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
>
Hi Ricardo,
Am Samstag, dem 28.10.2023 um 09:30 +0200 schrieb Ricardo Ribalda
Delgado:
> Hi Andre
>
> On Sat, Oct 28, 2023 at 9:19 AM André Apitzsch <[email protected]>
> 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 <[email protected]>
>
> 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
I will squash it. Shall I keep the r-b tags?
Is it okay to send the new version now?
>
> 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
> >
Hi Andre
On Sat, Oct 28, 2023 at 9:51 AM André Apitzsch <[email protected]> wrote:
>
> Hi Ricardo,
>
> Am Samstag, dem 28.10.2023 um 09:30 +0200 schrieb Ricardo Ribalda
> Delgado:
> > Hi Andre
> >
> > On Sat, Oct 28, 2023 at 9:19 AM André Apitzsch <[email protected]>
> > 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 <[email protected]>
> >
> > 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
>
> I will squash it. Shall I keep the r-b tags?
That is ok
>
> Is it okay to send the new version now?
Yes please, thanks :)
>
> >
> > 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
> > >
>