Hi Jimmy, On Wed, Jan 12, 2022 at 01:42:55PM +0800, Jimmy Su wrote: > Add a v4l2 sub-device driver for the OmniVision ov08d10 image sensor. > This camera sensor is using the i2c bus for control and the > csi-2 bus for data. > > The following features are supported: > - manual exposure and analog/digital gain control > - vblank/hblank control > - test pattern > - image vertical flip and horizontal mirror control > - supported resolution: > - 3280x2460 at 30 FPS > - 3264x2448 at 30 FPS > - 1632x1224 at 30 FPS > - supported bayer order output: > - SGRBG10 as default > - SBGGR10 at flip mode > - SRGGB10 at mirror mode > - SGBRG10 at flip + mirror mode > > Signed-off-by: Jimmy Su <jimmy.su@xxxxxxxxx> Thanks for the patch. I've applied it with the following diff --- the mutex needs to be released only after the controls have been (un)grabbed: diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index 34d7936499e9..92888024c774 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -1121,12 +1121,13 @@ static int ov08d10_set_stream(struct v4l2_subdev *sd, int enable) } ov08d10->streaming = enable; - mutex_unlock(&ov08d10->mutex); /* vflip and hflip cannot change during streaming */ __v4l2_ctrl_grab(ov08d10->vflip, enable); __v4l2_ctrl_grab(ov08d10->hflip, enable); + mutex_unlock(&ov08d10->mutex); + return ret; } -- Kind regards, Sakari Ailus