preview_init_entities() does not call v4l2_ctrl_handler_free() when
it fails.
Add the missed function to fix it.

Fixes: de1135d44f4f ("[media] omap3isp: CCDC, preview engine and resizer]")
Signed-off-by: Chuhong Yuan <hsleste...@gmail.com>
---
Changes in v2:
  - Fix the typo.

 drivers/media/platform/omap3isp/isppreview.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/omap3isp/isppreview.c 
b/drivers/media/platform/omap3isp/isppreview.c
index 4dbdf3180d10..607b7685c982 100644
--- a/drivers/media/platform/omap3isp/isppreview.c
+++ b/drivers/media/platform/omap3isp/isppreview.c
@@ -2287,7 +2287,7 @@ static int preview_init_entities(struct isp_prev_device 
*prev)
        me->ops = &preview_media_ops;
        ret = media_entity_pads_init(me, PREV_PADS_NUM, pads);
        if (ret < 0)
-               return ret;
+               goto error_handler_free;
 
        preview_init_formats(sd, NULL);
 
@@ -2320,6 +2320,8 @@ static int preview_init_entities(struct isp_prev_device 
*prev)
        omap3isp_video_cleanup(&prev->video_in);
 error_video_in:
        media_entity_cleanup(&prev->subdev.entity);
+error_handler_free:
+       v4l2_ctrl_handler_free(&prev->ctrls);
        return ret;
 }
 
-- 
2.26.2

Reply via email to