media: i2c: max96717: clean up on error in max96717_subdev_init()
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 27 Sep 2024 10:59:10 +0000 (13:59 +0300)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 16 Oct 2024 07:32:36 +0000 (09:32 +0200)
Call v4l2_ctrl_handler_free() to clean up from v4l2_ctrl_handler_init().

Fixes: 19b5e5511ca4 ("media: i2c: max96717: add test pattern ctrl")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Julien Massot <julien.massot@collabora.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/max96717.c

index 755e27271b1b3e50ddb76b358d03e24f467de995..047bad30e263ae6740aaed2a1dc56a1246ef42b3 100644 (file)
@@ -701,8 +701,10 @@ static int max96717_subdev_init(struct max96717_priv *priv)
        priv->pads[MAX96717_PAD_SOURCE].flags = MEDIA_PAD_FL_SOURCE;
 
        ret = media_entity_pads_init(&priv->sd.entity, 2, priv->pads);
-       if (ret)
-               return dev_err_probe(dev, ret, "Failed to init pads\n");
+       if (ret) {
+               dev_err_probe(dev, ret, "Failed to init pads\n");
+               goto err_free_ctrl;
+       }
 
        ret = v4l2_subdev_init_finalize(&priv->sd);
        if (ret) {