]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
media: ov5640: fix framerate update
authorHugues Fruchet <hugues.fruchet@st.com>
Thu, 8 Feb 2018 12:22:14 +0000 (07:22 -0500)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 27 Sep 2018 06:20:34 +0000 (08:20 +0200)
After a framerate update through s_frame_interval(), the new
framerate was not taken into account when streaming,
but was taken into account on next session.
This was due to sensor->current_mode not updated accordingly to new
framerate setting in ov5640_s_frame_interval().

Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Sam Bobrowicz <sam@elite-embedded.com>
drivers/media/i2c/ov5640.c

index 3e7b43ce2b7a4e21359f2a9717560eb6e1b4326d..03940f0cdfa62585bb8b2dd1946c29e7fcb8b403 100644 (file)
@@ -2374,6 +2374,8 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd,
 
        sensor->current_fr = frame_rate;
        sensor->frame_interval = fi->interval;
+       sensor->current_mode = ov5640_find_mode(sensor, frame_rate, mode->width,
+                                               mode->height, true);
        sensor->pending_mode_change = true;
 out:
        mutex_unlock(&sensor->lock);