Messages in this thread | | | Date | Tue, 14 Mar 2023 21:05:21 +0200 | From | Sakari Ailus <> | Subject | Re: [PATCH v12 5/5] media: i2c: imx334: update pixel and link frequency |
| |
Hi Shravan,
On Wed, Mar 01, 2023 at 01:04:12PM +0530, shravan kumar wrote: > @@ -885,7 +895,13 @@ static int imx334_init_pad_cfg(struct v4l2_subdev *sd, > struct v4l2_subdev_format fmt = { 0 }; > > fmt.which = sd_state ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; > - imx334_fill_pad_format(imx334, &supported_modes[0], &fmt); > + fmt->format.code = imx334->cur_code;
This does not compile.
> + imx334_fill_pad_format(imx334, imx334->cur_mode, &fmt); > + > + __v4l2_ctrl_modify_range(imx334->link_freq_ctrl, 0, > + __fls(imx334->menu_skip_mask), > + ~(imx334->menu_skip_mask), > + __ffs(imx334->menu_skip_mask));
You're not holding imx334->mutex here, as you should. Also accessing imx334->cur_code should only be done while that mutex is acquired.
What's the purpose of calling __v4l2_ctrl_modify_range() here, all these values are static once probe() function has been called, aren't they?
I'm dropping this patch for now, taking the first four.
> > return imx334_set_pad_format(sd, sd_state, &fmt); > }
-- Kind regards,
Sakari Ailus
| |