Hi Sakari, > os05b10_set_pad_format() calls os05b10_set_framing_limits() before updating > the ACTIVE format. As a result, the VBLANK control handler uses the old > height when recalculating exposure limits, causing -ERANGE when switching > to a larger resolution. > > Update the ACTIVE format before adjusting framing controls so control > callbacks use the correct dimensions. > > Signed-off-by: Tarang Raval > --- >  drivers/media/i2c/os05b10.c | 4 ++-- >  1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/i2c/os05b10.c b/drivers/media/i2c/os05b10.c > index 4601e33b7e8f..476dbcb49351 100644 > --- a/drivers/media/i2c/os05b10.c > +++ b/drivers/media/i2c/os05b10.c > @@ -902,14 +902,14 @@ static int os05b10_set_pad_format(struct v4l2_subdev *sd, >   >          format = v4l2_subdev_state_get_format(sd_state, 0); >   > +       *format = fmt->format; > + This is the final analysis without this patch. Please check the logs in the attached file. When switching the resolution from 1280x720 to 2592x1944, the logs show that while configuring the 1280 mode from the 2592 mode, the maximum exposure value is calculated as 2219 (fmt->height + ctrl->val - exposure margin). However, after switching to the 2592 mode, the maximum exposure value is 774. From both cases, it is evident that fmt->height is being calculated incorrectly It is still using the previous height instead of updating to the new resolution. Please share your thoughts. Am I heading in the right direction? Best Regards, Tarang