summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Cai <R63905@freescale.com>2013-08-08 17:45:17 +0800
committerRobby Cai <R63905@freescale.com>2013-08-08 19:00:44 +0800
commit98894af902b374bcbc1769f18662d587c3859304 (patch)
treee9f0ff2dc77da6df4e02e5e05a820086d42b61a2
parent0af5e5c8fc507ebd85b76e5b2a6d81a5227e1b57 (diff)
ENGR00274493 mx6sl: csi/v4l: Fix capture incorrect data with format UYVYrel_imx_3.0.35_4.1.0_rc2
There's an interim buffer which should only be used when PxP CSC is used. Otherwise the video buffer gets incorrect data by copying the content of interim buffer. The patch fixes this by moving the memcpy to the right place. Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit 8e0b8ff485dd7cdeabc653f1e27c271ac923710e)
-rw-r--r--drivers/media/video/mxc/capture/csi_v4l2_capture.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/video/mxc/capture/csi_v4l2_capture.c b/drivers/media/video/mxc/capture/csi_v4l2_capture.c
index 045a3885a7e5..adc77d3b64a1 100644
--- a/drivers/media/video/mxc/capture/csi_v4l2_capture.c
+++ b/drivers/media/video/mxc/capture/csi_v4l2_capture.c
@@ -1065,11 +1065,11 @@ static int csi_v4l_dqueue(cam_data *cam, struct v4l2_buffer *buf)
return retval;
}
pxp_complete_update(cam);
+ memcpy(cam->frame[buf->index].vaddress,
+ cam->frame[req_buf_number].vaddress,
+ cam->v2f.fmt.pix.sizeimage);
}
up(&cam->busy_lock);
- memcpy(cam->frame[buf->index].vaddress,
- cam->frame[req_buf_number].vaddress,
- cam->v2f.fmt.pix.sizeimage);
return retval;
}