From: Anatolij Gustschin Date: Mon, 31 Jan 2011 12:58:01 +0000 (-0300) Subject: [media] V4L: mx3_camera: correct 'sizeimage' value reporting X-Git-Tag: firefly_0821_release~7613^2~1709^2~289 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=44facdc8c43a8b5172d6cbe995845c9889561aa0;p=firefly-linux-kernel-4.4.55.git [media] V4L: mx3_camera: correct 'sizeimage' value reporting The 'pix->width' field may be updated in mx3_camera_set_fmt() to fulfill the IPU stride line alignment requirements. If this update takes place, the 'fmt.pix.sizeimage' field in the struct v4l2_format stucture returned by VIDIOC_S_FMT is wrong. We need to update the 'pix->sizeimage' field in the mx3_camera_set_fmt() function to fix this issue. Signed-off-by: Anatolij Gustschin Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/mx3_camera.c b/drivers/media/video/mx3_camera.c index b9cb4a436959..1cfff4132a0b 100644 --- a/drivers/media/video/mx3_camera.c +++ b/drivers/media/video/mx3_camera.c @@ -918,6 +918,12 @@ static int mx3_camera_set_fmt(struct soc_camera_device *icd, pix->colorspace = mf.colorspace; icd->current_fmt = xlate; + pix->bytesperline = soc_mbus_bytes_per_line(pix->width, + xlate->host_fmt); + if (pix->bytesperline < 0) + return pix->bytesperline; + pix->sizeimage = pix->height * pix->bytesperline; + dev_dbg(icd->dev.parent, "Sensor set %dx%d\n", pix->width, pix->height); return ret;