浏览代码

media: ov5640: fix framerate update

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>
Hugues Fruchet 7 年之前
父节点
当前提交
3b49842400
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/media/i2c/ov5640.c

+ 2 - 0
drivers/media/i2c/ov5640.c

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