Skip to content
Commit e738f5dd authored by Mirela Rabulea's avatar Mirela Rabulea Committed by Sakari Ailus
Browse files

media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated



In ov5640_set_fmt, pending_fmt_change will always be false, because the
sensor format is saved before comparing it with the previous format:
	fmt = &sensor->fmt;...
	*fmt = *mbus_fmt;...
	if (mbus_fmt->code != sensor->fmt.code)
		sensor->pending_fmt_change = true;
This causes the sensor to capture with the previous pixelcode.

Also, changes might happen even for V4L2_SUBDEV_FORMAT_TRY, so fix that.

Basically, revert back to the state before
commit 07115449 ("media: ov5640: Fix set format regression")
as it was more clear, and then update format even when pixelcode does
not change, as resolution might change.

Fixes: 07115449 ("media: ov5640: Fix set format regression")
Fixes: 6949d864 ("media: ov5640: do not change mode if format or frame interval is unchanged")
Fixes: fb98e29f ("media: ov5640: fix mode change regression")

Signed-off-by: default avatarMirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: default avatarJacopo Mondi <jacopo+renesas@jmondi.org>
Acked-by: default avatarHugues Fruchet <hugues.fruchet@st.com>
Tested-by: default avatarHugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
parent 2b891d39
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment