Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

media: i2c: ov8856: free control handler on error in ov8856_init_controls()

The control handler wasn't freed if adding controls failed, add an error
exit label and convert the existing error return to use it.

Fixes: 879347f0c258 ("media: ov8856: Add support for OV8856 sensor")
Cc: stable@vger.kernel.org
Signed-off-by: Alexander Koskovich <akoskovich@pm.me>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>

authored by

Alexander Koskovich and committed by
Hans Verkuil
f75e1607 ea9e61de

+8 -2
+8 -2
drivers/media/i2c/ov8856.c
··· 1951 1951 V4L2_CID_HFLIP, 0, 1, 1, 0); 1952 1952 v4l2_ctrl_new_std(ctrl_hdlr, &ov8856_ctrl_ops, 1953 1953 V4L2_CID_VFLIP, 0, 1, 1, 0); 1954 - if (ctrl_hdlr->error) 1955 - return ctrl_hdlr->error; 1954 + if (ctrl_hdlr->error) { 1955 + ret = ctrl_hdlr->error; 1956 + goto err_ctrl_handler_free; 1957 + } 1956 1958 1957 1959 ov8856->sd.ctrl_handler = ctrl_hdlr; 1958 1960 1959 1961 return 0; 1962 + 1963 + err_ctrl_handler_free: 1964 + v4l2_ctrl_handler_free(ctrl_hdlr); 1965 + return ret; 1960 1966 } 1961 1967 1962 1968 static void ov8856_update_pad_format(struct ov8856 *ov8856,